Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
193982 | luckypet | 高精度加法 | C++ | 通过 | 100 | 0 MS | 248 KB | 652 | 2025-05-29 14:16:16 |
#include <iostream> #include <string> #include <algorithm> using namespace std; string add(const string& a, const string& b) { string result; int carry = 0; int i = a.size() - 1; int j = b.size() - 1; while (i >= 0 || j >= 0 || carry) { int sum = carry; if (i >= 0) sum += a[i--] - '0'; if (j >= 0) sum += b[j--] - '0'; result.push_back(sum % 10 + '0'); carry = sum / 10; } reverse(result.begin(), result.end()); return result.empty() ? "0" : result; } int main() { string a, b; cin >> a >> b; cout << add(a, b) << endl; return 0; }