文章
74
粉丝
0
获赞
98
访问
8.9k
#include<bits/stdc++.h>
using namespace std;
string Add(string a, string b){
if(a.length() < b.length()) swap(a, b);
string res(a.length(), '0'); // 设置结果长度
b.insert(0, a.length()-b.length(), '0'); // 较短位数的数字前补0,方便后续计算
int carry = 0; // 进位
for(int i = a.length()-1; i >= 0; i --){
int sum = (a[i] - '0') + (b[i] - '0') + carry;
carry = sum / 10;
res[i] = (sum % 10 + '0');
}
// 如果进位不为0,res前补上进位
if(carry != 0) res.insert(res.begin(), carry + '0');
return res;
}
int main(){
string a, b;
while(cin >> a >> b) cout << Add(a, b) << endl;
return 0;
}
登录后发布评论
暂无评论,来抢沙发