program p1040_4wei1;
var
i,j,code,len,len1,len2,ll1,ll2,l1,l2:longint;
s1,s2:ansistring;
x,y:array[1..1000] of integer;
z:array[1..2000] of qword;
s:string[4];
begin
readln(s1);
readln(s2);
len1:=length(s1);
len2:=length(s2);
if len1 mod 4 = 0 then begin
ll1:=len1 div 4;
l1:=4;
end
else begin
ll1:=len1 div 4 + 1;
l1:=len1 mod 4;
end;
if len2 mod 4 = 0 then begin
ll2:=len2 div 4;
l2:=4;
end
else begin
ll2:=len2 div 4 + 1;
l2:=len2 mod 4;
end;
for i:=1 to ll1-1 do begin
s:=copy(s1,i*4-3,i*4);
val(s,x,code);
z:=0;
end;
s:=copy(s1,ll1*4-3,(ll1-1)*4+l1);
val(s,x[ll1],code);
for i:=1 to ll2-1 do begin
s:=copy(s2,i*4-3,i*4);
val(s,y,code);
z[ll1+i]:=0;
end;
s:=copy(s2,ll2*4-3,(ll2-1)*4+l2);
val(s,y[ll2],code);
for i:=1 to ll1 do begin
for j:=1 to ll2 do begin
z[i+j-1]:=z[i+j-1] + x * y[j];
z[i+j]:=z[i+j]+(z[i+j-1] div 10000);
z[i+j-1]:=z[i+j-1] mod 10000;
end;
end;
len:=ll1+ll2;
if z[len]0 then
for j:=len downto 1 do
write(z[j])
else
for j:=(len-1) downto 1 do
write(z[j]);
end.
=================
可以把我的程序修改并告诉我哪里错了吗?
如果不想改的话,那可以发一个正确的并加注释说明的程序吗?
先谢谢了……
原题地址: http://www.vijos.cn/Problem_Show.asp?id=1040
|