高精度减法

program GJMinus;
var
 s1,s2,s3,st,s:string;
 i,j,k,l1,l2,li,n1,n2,n3,n4:integer;
begin
readln(s1);
readln(s2);
l1:=length(s1);
l2:=length(s2);
if l1>l2 then li:=l1 else li:=l2;
n4:=0;
if l1>=l2 then
for i:=1 to li do begin
        if i<=l1 then Val(copy(s1,(l1+1-i),1),n1,j) else n1:=0;// writeln(n1);
        if i<=l2 then Val(copy(s2,(l2+1-i),1),n2,j) else n2:=0;// writeln(n2);
 n3:=n1-n2+n4;
 if n3<0 then begin
  n4:=-n3 div 10;
  n3:=n3-n4*10;
 end else n4:=0;
        str(n3,st);
        insert(st,s3,256-i);
end else if l1<l2 then begin
for i:=1 to li do begin
        if i<=l2 then Val(copy(s2,(l2+1-i),1),n2,j) else n2:=0;// writeln(n1);
        if i<=l1 then Val(copy(s1,(l1+1-i),1),n1,j) else n1:=0;// writeln(n2);
 n3:=n2-n1+n4;
 if n3<0 then begin
  n4:=-n3 div 10;
  n3:=n3-n4*10;
 end else n4:=0;
        str(Abs(n3),st);
        insert(st,s3,256-i);
        end;
        insert('-',s3,255-i);
end;
//output
k:=length(s3);
li:=0;
for i:=1 to k do begin
st:=copy(s3,k-i+1,1);
write(st);
end;
readln;
end.
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值