描述
输入三个正整数(数位可能不同没有进位),计算三个正整数的和。
输入描述
共3行。每行一个正整数(10<=位数<=2000),整数不包含前导0。
输出描述
一个数字。表示数字和。
用例输入 1
22222222222222222212
5555555512
1112
用例输出 1
22222222227777778836
AC代码
#include<bits/stdc++.h>
using namespace std;
string x,y,z;
int a[999999],b[999999],c[999999],d[999999],e[999999],la,lb,lc,ld;
int main(){
cin>>x>>y>>z;
la=x.length(),lb=y.length(),ld=z.length();
for(int i=0;i<la;i++) a[la-i]=x[i]-'0';
for(int i=0;i<lb;i++) b[lb-i]=y[i]-'0';
for(int i=0;i<ld;i++) d[ld-i]=z[i]-'0';
lc=max(la,lb);
for(int i=1;i<=lc;i++){
c[i]+=a[i]+b[i];
c[i+1]=c[i]/10;
c[i]%=10;
}
if(c[lc+1]>0) lc++;
int le=max(lc,ld);
for(int i=1;i<=le;i++){
e[i]+=d[i]+c[i];
e[i+1]=e[i]/10;
e[i]%=10;
}
if(e[le+1]>0) le++;
for(int i=le;i>=1;i--) cout<<e[i];
return 0;
}