B进制星球
Kingdom_Tears · · 题解
#include <bits/stdc++.h>
using namespace std;
int c_i(char c) {
if (c >= '0' && c <= '9')
return c - '0';
else
return c - 'A' + 10;
}
char i_c(int n) {
if (n >= 10)
return n - 10 + 'A';
else
return n + '0';
}
int main() {
int r;
string a, b, c = "";
cin >> r >> a >> b;
int la = a.size(), lb = b.size(), k = 0;
if (la > lb)
for (int i = 0; i < la - lb; i++)
b = '0' + b;
else
for (int i = 0; i < lb - la; i++)
a = '0' + a;
int len = a.size();
for (int i = len - 1; i >= 0; i--) {
int t = c_i(a[i]) + c_i(b[i]) + k;
k = t / r;
t %= r;
c = i_c(t) + c;
}
if (k != 0)
c = '1' + c;
cout << c;
return 0;
}