Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
168089 | 徐启善(C班) | 进制数加法 | C++ | 通过 | 100 | 0 MS | 252 KB | 694 | 2024-08-19 22:28:31 |
#include <bits/stdc++.h> using namespace std; int jz10(const string &n, int base) { int res = 0; for (char c : n) { res = res * base + (isdigit(c) ? c - '0' : c - 'A' + 10); } return res; } string solve(int n, int base) { if (n == 0) { return "0"; } string res; while (n > 0) { int r = n % base; res += (r < 10 ? char(r + '0') : char(r - 10 + 'A')); n /= base; } reverse(res.begin(), res.end()); return res; } int main() { int base; string x, y; cin >> base >> x >> y; int sum = jz10(x, base) + jz10(y, base); cout << solve(sum, base) << endl; return 0; }