1到2006中带1的数有几个

来源:百度知道 编辑:UC知道 时间:2024/09/18 05:29:04
RT1到2006中带1的数有几个 整数!!

你是要写代码,还是要答案啊?代码的话用什么语言写

我的思想是这样:首先用for循环遍历1到2006的数,在循环中把每个数字转换成字符串的形式,然后判断字符'1'是否在这个字符串中出现,如果出现了,那么定义的计数变量增1,这样就行了。思想是这样。至于代码我也不知道你要那种,那我就用Delphi吧。
function HowManyOne(start: integer; end: integer): integer;
var
OneCounter,i,temp: integer;
Str: string;
begin
OneCounter := 0;
Str := '';
if start < end then
begin
for i := start to end do
begin
Str := IntToStr(i);//将整数转换为字符串形式
if Pos('1',Str) > 0 then //转换后的字符串里含1
OneCounter := OneCounter + 1; //计数器增1
end;
end
else
OneCounter := HowManyOne(end,start);
Result := OneCounter;
end;
该函数不仅能求1到2006中带1的整数有多少个,还可以求任意两个整数之间带1的整数有多少个(包括正序和反序)。

1000 - 100 - 10 - 1 个不重复带1的数字
1000个重复带1数字