目录
高精度加法:
1,把数当做字符串处理
2, 大于10进位
3,反转一下可能更好处理
#include <iostream>
#include <string>
#include <algorithm>
const int N = 1e6;
int v[N];
int a[N];
int b[N];
using namespace std;
int main()
{
string A, B;
cin >> A >> B;
reverse(A.begin(),A.end());
reverse(B.begin(),B.end());
string C;
int i,kk,k;
for (kk=0 ; kk<A.size(); kk++ )
a[kk]+=(int)(A[kk]-'0');
for (k=0 ; k<B.size(); k++ )
b[k]+=(int)(B[k]-'0');
for(i;i<kk||i<k;i++)
{
v[i]+=(a[i]+b[i]);
if(v[i]>=10)
{
v[i]-=10;
v[i+1]++;
}
}
int flag=0;
for(i=kk+k+1;i>=0;i--)
{
if(v[i])
flag++;
if(flag)
C+=('0'+v[i]);
}
if(flag==0)
C+=('0');
for(int i=0;i<C.size();i++)
cout<<C[i];
r