按“123 456 789 101 112...”这样的规律写出一个2007位数,这个数的亿位上的数字是?
问题描述:
按“123 456 789 101 112...”这样的规律写出一个2007位数,这个数的亿位上的数字是?
答
2007位数的亿位,就是倒数第9位、顺数第1999位,用下面的PASCAL程序很容易获取得到结果是7:
program ygb;
var s,s2:string;
var i,n,m:integer;
begin
n:=0;
i:=1;
while true do
begin
str(i,s2);
s:=s+s2;
i:=i+1;
if length(s)>107 then
if n>=1900 then break
else begin
{1}writeln(copy(s,1,100));
delete(s,1,100);
n:=n+100;
end;
end;
{2}writeln(copy(s,1,2007-n));
writeln(s[1999-n]);
end.
其它语言可以用类似的办法获得结果,里面注释的{1}和{2}两条语句输出这个完整的2007位数据,注释掉就不输出,最后一个语句是输出结果的.