回 帖 发 新 帖 刷新版面

主题:[讨论]求救!!!大家来帮帮忙~~

数列的第一项是2,第二项是3,第三项是第一项与第二项的乘积6,第四项、第五项是第二项第三乘积的十位数1与个位数8,...,该数列如下: 2,3,6,1,8,6,8,...。打印数列的第1998项到2000项。

回复列表 (共3个回复)

沙发

不懂

板凳

就是字符串操作&指针使用嘛
我没有多少时间写 所以写的差请不要见怪
 空间上还有优化的余地

program mob;
var a:array[1..2002]of byte;
    i,l:integer;st:string;j,c:byte;
begin
 a[1]:=2;a[2]:=3;
 i:=1;l:=2;
 while l<2000 do begin
  c:=a[i]*a[i+1];
  str(c,st);
  for j:=1 to length(st) do
   a[l+j]:=ord(st[j])-48;
  inc(l,length(st));
  inc(i);
 end;
 writeln(a[1998],a[1999],a[2000]);
end.

3 楼

OK解决了谢谢!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册