AcWing 791. 高精度加法
原题链接
简单
作者:
愿无忧
,
2021-02-17 10:25:58
,
所有人可见
,
阅读 273
C++ 代码
#include<iostream>
#include<cstring>
using namespace std;
const int N = 100010;
int a[N],b[N],c[N];
int main(){
int lena,lenb,lenc;
string s1,s2;
cin>>s1>>s2;
lena=s1.length();
lenb=s2.length();
//倒序存储
for(int i=0;i<lena;i++)
a[i] = s1[lena-i-1] - '0';
for(int i=0;i<lenb;i++)
b[i] = s2[lenb-i-1] - '0';
//从低位向高位累加
lenc = max(lena,lenb);
for(int i=0;i<lenc;i++){
c[i] = a[i]+b[i]+c[i];
c[i+1] = c[i] / 10;
c[i] %= 10;
}
if(c[lenc]) lenc++;//处理最高进位
for(int i=lenc-1;i>=0;i--)
cout<<c[i];
return 0;
}