Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
166966 | C班-范浩宇 | 进制数加法 | C++ | 通过 | 100 | 1 MS | 252 KB | 686 | 2024-08-19 15:44:46 |
#include <bits/stdc++.h> using namespace std; int n, a2[301], b2[301], t, c[301]; char a[301], b[301]; int cha(char c) { if(c >= '0' && c <= '9') return c - 48; else if(c == 'A') return 10; else if(c == 'B') return 11; } int main() { cin >> n >> a >> b; t = max(strlen(a), strlen(b)); for(int i = 0;i < strlen(a);i++) a2[strlen(a) - i] = cha(a[i]); for(int i = 0;i < strlen(b);i++) b2[strlen(b) - i] = cha(b[i]); for(int i = 1;i <= t;i++) { c[i] += (a2[i] + b2[i]); c[i + 1] += c[i] / n; c[i] %= n; } bool ch; for(int i = t + 1;i > 0;i--) { if(i == t + 1 && c[i] == 0) continue; cout << c[i]; } return 0; }