超越long long范围加法,包AC
2025-08-09 15:54:53
发布于:陕西
1阅读
0回复
0点赞
超越long long范围加法
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string addBigNumbers(const string& num1, const string& num2) {
string result;
int carry = 0, i = num1.size() - 1, j = num2.size() - 1;
while (i >= 0 || j >= 0 || carry) {
int sum = carry;
if (i >= 0) sum += num1[i--] - '0';
if (j >= 0) sum += num2[j--] - '0';
result += (sum % 10) + '0';
carry = sum / 10;
}
reverse(result.begin(), result.end());
return result;
}
int main() {
string num1, num2;
cin >> num1 >> num2;
cout << addBigNumbers(num1, num2);
return 0;
}
测试:
输入
1234567891234567891234567891234567890
1234567891234567891234567891234567890
输出
2469135782469135782469135782469135780
这里空空如也
有帮助,赞一个