| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 78095 | sh25_wangtaojie | 大整数加法 | C++ | 通过 | 0 MS | 252 KB | 927 | 2025-12-26 15:21:48 |
#include <iostream> #include <vector> #include <algorithm> using namespace std; string addLargeIntegers(const string& num1, const string& num2) { vector<int> result; int carry = 0; int i = num1.size() - 1, j = num2.size() - 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; result.push_back(sum % 10); carry = sum / 10; } while (result.size() > 1 && result.back() == 0) { result.pop_back(); } string finalResult; for (auto it = result.rbegin(); it != result.rend(); ++it) { finalResult += to_string(*it); } return finalResult; } int main() { string num1, num2; cin >> num1 >> num2; string result = addLargeIntegers(num1, num2); cout << result; return 0; }