O(n)用数组储存位数,注意有进位。var a,b,c:array[1..1000] of longint; x:ansistring; i,j,k,l:longint;begin readln(x); l:=length(x); for i:=1 to l do val(x[l-i+1],a[i]); readln(x); k:=length(x); for i:=1 to k do val(x[k-i+1],b[i]); if k>l then l:=k; for i:=1 to l do begin c[i]:=c[i]+a[i]+b[i]; if c[i]>=10 then begin c[i]:=c[i]-10; inc(c[i+1]); end; end; if c[l+1]<>0 then inc(l); for i:=l downto 1 do write(c[i]);end.