讨论 / 请问为什么不对?
luckyboy 2008-11-14 07:24:00
点我顶贴 收藏 删除
请教大牛
#1 systen@2008-11-13 03:57:00
回复 删除
数组开小了,而且要优化一点
#2 苍狼@2008-11-13 03:57:00
回复 删除
程序贴出来呀!!
#3 李山山@2008-11-14 07:24:00
回复 删除
Program ab377;

Type arr=array[1..40001] Of longint;

Var a,b,c:arr;

la,lb,lc:word;

i,j,n:integer;

x:longint;

ch:char;

Begin

readln(n);

la:=(n-1) Div 4+1;

lb:=la;

For i:=1 To n Do

Begin

read(ch);

a[(n-i)div 4 +1]:=a[(n-i) div 4+1]*10+ord(ch)-ord(’0’);

End;

readln;

For i:=1 To n Do

Begin

read(ch);

b[(n-i) div 4 +1] :=b[(n-i) div 4+1]*10+ ord(ch)-ord(’0’);

End;

For i:=1 To la Do

For j:=1 To lb Do

begin

inc(c[i+j-1],a[i]*b[j]);

inc(c[i+j],c[i+j-1] div 10000);

c[i+j-1]:=c[i+j-1] mod 10000;

end;

If c[la+lb]<>0 Then lc := la+lb

Else lc := la+lb-1;

write(c[lc]);

For i:=lc-1 Downto 1 Do

Begin

if c[i] div 1000 =0 then write(0);

if c[i] div 100 =0 then write(0);

if c[i] div 10 =0 then write(0);

write(c[i]);

End;

End.

查看更多回复
提交回复