给出两个正整数A和B,计算A-B的值。保证A和B的位数不超过500位。
输入描述 Input Description
读入两个用空格隔开的正整数
输出描述 Output Description
输出A-B的值
样例输入 Sample Input
3 12
样例输出 Sample Output
-9
数据范围及提示 Data Size & Hint
两个正整数的位数不超过500位
代码:
var
a,b,c:array [0..500] of longint;
len,temp,i,j,k:longint;
flag:boolean;
s,s1,s2:ansistring;
begin
readln(s);
temp:=1;
for i:=1 to length(s) do
if s[i]<>' ' then
s1:=s1+s[i]
else
break;
for j:=i+1 to length(s) do
s2:=s2+s[j];
i:=length(s1);
j:=length(s2);
if i>j then
begin
len:=i;
flag:=true;
end
else
begin
len:=j;
flag:=false;
end;
for k:=len downto 1 do
begin
if i>0 then
begin
a[k]:=ord(s1[i])-48;
dec(i);
end
else
a[k]:=0;
if j>0 then
begin
b[k]:=ord(s2[j])-48;
dec(j);
end
else
b[k]:=0;
if flag then
c[k]:=a[k]-b[k]
else
c[k]:=b[k]-a[k];
end;
for k:=len downto 1 do
if c[k]<0 then
begin
c[k]:=c[k]+10;
dec(c[k-1]);
end;
if not flag then
write('-');
for k:=1 to len do
if c[k]=0 then
inc(temp)
else
break;
for k:=temp to len do
write(c[k]);
end.