『水一发』『只能算正数的高精度加法』『Cpp』

 1 #define Maxlongint 2147483647
 2 #include<iostream>
 3 #include<string>
 4 #include<cstring>
 5 using namespace std;
 6 string a,b;
 7 int DC,la,lb;
 8 int c[2555555];
 9 int Max(int x,int y)
10 {
11     if (x>y) return x;
12     else return y;
13 }
14 int Min(int x,int y)
15 {
16     if (x<y) return x;
17     else return y;
18 }
19 void Plus(string a, string b)
20   {
21     int Tt,i;
22     if (la>lb)
23       {
24         for (i=1;i<=la-lb;++i)
25           b='0'+b;
26         lb=la;
27       }
28     else
29       {
30         for (i=1;i<=lb-la;++i)
31           a='0'+a;
32         la=lb;
33       }
34     //cout<<endl;
35     for(i=0;i<=la;++i)
36     {
37       c[i]=a[i]+b[i]-96;
38       //cout<<i<<'*'<<c[i]<<'='<<a[i]<<'+'<<b[i]<<endl;
39     }
40     for(i=la;i>=0;--i)
41       if ((c[i]+DC)>=10)
42         {
43           Tt=(c[i]+DC) % 10;
44           DC=(c[i]+DC) / 10;
45           c[i]=Tt;
46         }
47       else
48         {
49           c[i]=c[i]+DC;
50           DC=0;
51         }
52     c[2555554]=-1;
53     if (DC>0) c[2555554]=DC;
54     if (c[2555554]!=-1) cout<<c[2555554];
55     for (i=0;i<=la;++i)
56       if (c[i]!=-1) cout<<c[i]; 
57     cout<<endl;
58   }
59 int main()
60 {    
61       cin>>a;
62       cin>>b;
63       la=a.size()-1;
64       lb=b.size()-1;
65       for (int i=0;i<=Max(la,lb);++i) 
66         c[i]=' ';
67       DC=0;
68       Plus(a,b);
69       return 0;
70 }

23333333333333

写的太难看没脸见人了、、、、、、、、、、、、、、、、、、、、

总算打破了STRing壁垒!!!!!!

转载于:https://www.cnblogs.com/Catch-22/p/4842881.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值