string Add(string &a,string &b)
{
if(b.size()<a.size())
return Add(b,a);//保证a<b
int A[a.size()+10]={0},B[b.size()+10]={0},C[a.size()+10]={0};
int j=-1,sizec=0;
for(int i=a.size()-1;i>=0;i–)
A[++j]=a[i]-‘0’;
j=-1;
for(int i=b.size()-1;i>=0;i–)
B[++j]=b[i]-‘0’;
int x=0;
for(int i=0;i<a.size();i++)
{
int c=A[i]+B[i]+x;
x=c/10;
c%=10;
C[i]=c;
sizec++;
}
if(x) C[++sizec]=x;
while(C[sizec]==0&&sizec>=1)
sizec–;
string k;
for(int i=sizec;i>=0;i–)
k+=(C[i]+’0′);
return k;
}
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/274410.html