题解
2023-08-15 14:32:58
发布于:浙江
0阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
string add(string a ,string b){ //高精度加法函数
int carry = 0 ,i = a.size() - 1 ,j = b.size() - 1;
string result;
while (i >= 0 || j >= 0 || carry){
int digit1 = (i >= 0) ? (a[i] - '0') : 0; //判断i >= 0是否成立,成立赋值a[i] - '0',否则赋值0
int digit2 = (j >= 0) ? (b[j] - '0') : 0;
int sum = digit1 + digit2 + carry;
carry = sum / 10;
sum %= 10;
result += (sum + '0');
if (i >= 0)
i--;
if (j >= 0)
j--;
}
reverse(result.begin(), result.end());
return result;
}
int main(){
string a ,b;
cin >> a >> b;
cout << add(a ,b);
}
这里空空如也
有帮助,赞一个