Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
166341 | C班-范浩宇 | 进制数加法 | C++ | 解答错误 | 83 | 0 MS | 256 KB | 793 | 2024-08-19 13:48:18 |
#include <bits/stdc++.h> using namespace std; int main() { string a, b, w; int x[100], y[100], k, N; cin >> N; for(int i = 0;i <= N - 1;i++) { if(i < 10) w = w + char(48 + i); else w = w + char(55 + i); } cin >> a >> b; while(a.size() < b.size()) a = '0' + a; while(b.size() < a.size()) b = '0' + b; a = '0' + a; b = '0' + b; for(int i = a.size() - 1;i >= 0;i--) { x[i] = w.find(a[i],0); y[i] = w.find(b[i],0); } for(int i = a.size() - 1;i >= 0;i--) { x[i] = x[i] + y[i]; if(x[i] >= N) { k = i; while(x[k] >= N) { x[k] = x[k] - N; x[k - 1]++; k--; } } } for(int i = a.size() - 1;i >= 0;i--) a[i] = w[x[i]]; while(a[0] == '0') a.erase(0,1); cout << a << endl; return 0; }