题目描述
高精度加法,x相当于a+b problem,[b][color=red]不用考虑负数[/color][/b]
输入输出格式
输入格式:
分两行输入a,b<=10^500
输出格式:
输出只有一行,代表A+B的值
输入输出样例
样例输入1:1
1
样例输出1:
2
题解:
按求高精度加法的方法求就行了。
代码:
const max=255;
var a,b,c:array[1..max] of longint;n:string;
lena,lenb,lenc,i,x:longint;
begin
readln(n);
lena:=length(n);
for i:=1 to lena do a[lena-i+1]:=ord(n[i])-ord('0');
readln(n);
lenb:=length(n);
for i:=1 to lenb do b[lenb-i+1]:=ord(n[i])-ord('0');
i:=1;x:=0;
while (i<=lena)or (i<=lenb) do
begin
c[i]:=a[i]+b[i]+x;
x:=c[i] div 10;
c[i]:=c[i] mod 10;
i:=i+1;
end;
if x>0 then begin lenc:=i;c[i]:=x;end else lenc:=i-1;
for i:=lenc downto 1 do write(c[i]);
writeln;
end.