题解e
2023-08-15 16:41:43
发布于:广东
0阅读
0回复
0点赞
#include <iostream>
#include <string>
#include <algorithm>
stdstring addStrings(stdstring num1, stdstring num2) {
stdstring result;
int carry = 0;
// 从后往前逐位相加
int i = num1.length() - 1;
int j = num2.length() - 1;
while (i >= 0 || j >= 0 || carry > 0) {
int digit1 = i >= 0 ? (num1[i--] - '0') : 0;
int digit2 = j >= 0 ? (num2[j--] - '0') : 0;
int sum = digit1 + digit2 + carry;
carry = sum / 10;
sum %= 10;
result.push_back(sum + '0');
}
// 翻转结果字符串
std::reverse(result.begin(), result.end());
return result;
}
int main() {
std::string num1, num2;
// 输入两个需要相加的数
std::cin >> num1;
std::cin >> num2;
// 调用高精度加法函数
std::string sum = addStrings(num1, num2);
// 输出相加结果
std::cout << sum << std::endl;
return 0;
}
这里空空如也
有帮助,赞一个