信息学竞赛

练习与作业

特色教育 >>信息学竞赛 >>练习与作业

2002年南宁市高中信息学竞赛试题

来源:程军康|编辑日期:2009-11-06 12:34:14|点击数: |发布:55

2002年南宁市高中信息学竞赛试题

一、依次写上12345•••9101112•••,得到一个数字123456789101112131415•••,求这个数字的第2002位的数字。(7

算法分析:一位数有9位,两位数有90个,占位数是9+2*90=189位,三位数有900个,占位数字900*3=2700位,故2002位的数字出现在三位数中。我们可对三位数进行循环,位数一超过2002,就仃下来,往回确定2002位的数字即可。

program g2002t1;

var weishu,number,i,j,a,b,k,l:integer;

begin

weishu:=9+90*2;

for i:=100 to 999 do

begin

weishu:=weishu+3;

if weishu>=2002 then

begin

l:=weishu-2002;

a:=i;

for j:=0 to l do

begin

b:=a div 10;

number:=a-b*10;

a:=b;

end;

write('number=',number);

exit;

上一篇:

下一篇: