两个正整数的位数不超过500位
代码:
const maxn=1000; var a,b,c:array [0..maxn] of longint; s1,s2:ansistring; i,j,k,len:longint; begin readln(s1); s2:=copy(s1,1,pos(' ',s1)-1); for i:=length(s2) downto 1 do a[length(s2)-i+1]:=ord(s2[i])-48; delete(s1,1,pos(' ',s1)); for i:=length(s1) downto 1 do b[length(s1)-i+1]:=ord(s1[i])-48; if length(s1)>length(s2) then len:=length(s1) else len:=length(s2); for i:=1 to len do begin c[i]:=a[i]+b[i]+c[i]; c[i+1]:=c[i] div 10; c[i]:=c[i] mod 10; end; if c[len+1]>0 then inc(len); for i:=len downto 1 do write(c[i]); end.
