-
這是老師在課堂上教的,而且非常準確。
type data=array [0..10000] of longint;
vara,b,c:data;
s,s1:ansistring;
i,l:longint;
procedure ds;
beginreadln(s1);
l:=length(s1);
repeat
s:=copy(s1,l-3,4);
a[0]:=a[0]+1;
val(s,a[a[0]])
delete(s1,l-3,4);
l:=l-4;
until l<=0;
readln(s1);
l:=length(s1);
repeat
s:=copy(s1,l-3,4);
b[0]:=b[0]+1;
val(s,b[b[0]])
delete(s1,l-3,4);
l:=l-4;
until l<=0;
end;procedure cf;
vari,j,len,x:longint;
beginfor i:=1 to a[0] dobeginx:=0;
for j:=1 to b[0] do
beginx:=a[i]*b[j]+x div 10000+c[i+j-1];
c[i+j-1]:=x mod 10000;
end;c[i+j]:=x div 10000;
end;len:=a[0]+b[0];
while (c[len]=0) and (len>1) do dec(len);
c[0]:=len
end;procedure print;
begin;
for i:=c[0] downto 1 dobeginif i<>c[0] then
beginif c[i]<1000 then write(0);
if c[i]<100 then write(0);
if c[i]<10 then write(0);
end;write(c[i]);
end;end;
beginds;
cf;print;
-
program p1;
vara:array[0..10000] of integer;
b:array[0..10000] of integer;
c:array[0..10000] of integer;
len,x,i,j:integer;
beginreadln(len);
a[0]:=len;
b[0]:=len;
c[0]:=len;
for i:=len downto 1 do read(a[i]);
readln;
for i:=len downto 1 do read(b[i]);
readln;
for i:=1 to len do
for j:=1 to len do
beginc[i+j-1]:=c[i+j-1]+a[i]*b[j];
c[i+j]:=c[i+j]+c[i+j-1] div 10;
c[i+j-1]:=c[i+j-1] mod 10 ;
end;len:=len*2;
while c[len]=0 do
dec(len);
for i:=len downto 1 dowrite(c[i]);
writeln;
end.— 知道歡迎您加入團隊 pas 世界!
-
上述一些錯誤可能會被扣 100 分而不予糾正。 這是因為測試資料可能無法檢測到此類錯誤。
嚴格來說,如果我舉了乙個例子。 然後就沒有輸出了。 因為不會有非法訪問A[501]。
所以它會導致執行錯誤。
vara:array[1..100] of integer;
n,i:integer; >>>More