高精度减法

原创 2007年10月02日 11:22:00
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.
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

3115 高精度练习之减法

[解题思路]     把输入的数字以字符串的形式存储,转变为对字符串的处理,注意对负数,没有意义的0的处理。 [代码实现] #include using namespace std; int main...

高精度运算-(加法减法乘法)

不容易啊不容易.......我这种菜鸟写了一下午.. //c 语言高精度运算 //加法/减法/乘法 #include #include #include #include //an 记...

高精度减法(C++)

CCF NOI1139 高精度减法

问题链接:CCF NOI1139 高精度减法。 时间限制: 1000 ms  空间限制: 262144 KB 题目描述    给两个正整数a和b,计算它们的差。题目保证a>=b 输入  ...

大数加法 减法 乘法 除法 高精度四则运算

1. 加法 输入采用字符数组保存,然后将输入存在整形数组里,然后逐位相加即可,同时注意进位处理。 [cpp] view plaincopy #include    #inc...

高精度 大数减法

INPUT     :任意两个大数      OUTPUT :输出两个大数的相减的结果(结果可以为负) 之前用char类字符串做每位的转换比较麻烦 但是改为string型做大数减法比较简单 代码如下...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)