高精度加法

原创 2007年10月02日 11:00:00
program GJPLus;
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;
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>=10 then begin
  n4:=n3 div 10;
  n3:=n3 mod 10;
 end else n4:=0;
        str(n3,st);
        insert(st,s3,256-i);
end;
{
if l1>=li then begin
 for i:=(li+1) to l1 do begin
                Val(copy(s1,l1+1-i,1),n1);
  n2:=0;
  n3:=n1+n2+n4;
  if n3>=10 then begin
   n4:=n3 div 10;
   n3:=n3 mod 10;
  end else n4:=0;
         str(n3,st);
         insert(st,s3,li+i);
 end;
        str(n4,st);
        insert(st,s3,li+i-1);
end else if l2>=li then begin
 for i:=(li+1) to l2 do begin
                Val(copy(s2,l2+1-i,1),n2);
  n1:=0;
  n3:=n1+n2+n4;
  if n3>=10 then begin
   n4:=n3 div 10;
   n3:=n3 mod 10;
  end else n4:=0;
        str(n3,st);
        insert(st,s3,li+i);
 end;
        str(n4,st);
        insert(st,s3,li+i-1);
end;
}
//output
k:=length(s3);
li:=0;
for i:=1 to k do begin
val(copy(s3,k-i+1,1),j);
if j>0 then li:=li+1;
if li>0 then write(j);
end;
readln;
end.
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C语言-高精度加法

  • 2014-11-13 09:41
  • 686B
  • 下载

高精度加法的C++实现

  • 2010-12-06 18:51
  • 936B
  • 下载

高精度加法模板

#include #include #include using namespace std; int additive(int a[], int len1, int b[], int len2, i...

高精度加法

  • 2012-11-27 22:11
  • 697B
  • 下载

hdu1250高精度加法

HDU-1753 实数高精度加法

/* * hdu-1753 daming a+b * mike-w * 2012-5-23 */ #include #include #include #define MAX_SIZE 45...

【高精度】被限制的加法,石油大学

高精度】被限制的加法

信息奥赛高精度加法

  • 2015-10-19 21:57
  • 264KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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