题目描述
高精度加法,x相当于a+b problem,[b][color=red]不用考虑负数[/color][/b]
输入输出格式
输入格式:
分两行输入a,b<=10^500
输出格式:
输出只有一行,代表A+B的值
输入输出样例
输入样例#1:
1
1
输出样例#1:
2
说明
这一题也没有什么特别的,就是个普通的高精加。
const
max=1000;
var
a,b:array [1..max] of integer;
procedure init;
var
s1,s2:ansistring;
l1,l2,i:longint;
begin
readln(s1);
readln(s2);
l1:=length(s1);
l2:=length(s2);
for i:=l1 downto 1 do
a[max-l1+i]:=ord(s1[i])-ord('0');
for i:=l2 downto 1 do
b[max-l2+i]:=ord(s2[i])-ord('0');
end;
procedure add;
var
s,g,i:longint;
begin
g:=0;
for i:=max downto 1 do
begin
s:=a[i]+b[i]+g;
a[i]:=s mod 10;
g:=s div 10;
end;
end;
procedure print;
var i,j:integer;
begin
i:=1;
while (a[i]=0) and (i<max) do inc(i);
for j:=i to max do
write(a[j]);
end;
begin
init;
add;
print;
end.
本文介绍了一种处理大整数相加的高精度加法算法,并提供了完整的Pascal代码实现。该算法能够处理非常大的整数(如10^500),适用于需要进行精确数学运算的场景。
194

被折叠的 条评论
为什么被折叠?



