Submission
Status:
PPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: yourmom
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2026-10-03 09:39:42
#include <bits/stdc++.h>
using namespace std;
int charToVal(char c) {
if (isdigit(c)) return c - '0';
return toupper(c) - 'A' + 10;
}
char valToChar(int v) {
if (v < 10) return '0' + v;
return 'A' + (v - 10);
}
long long toDecimal(const string& num, int base) {
long long result = 0;
for (char c : num) {
result = result * base + charToVal(c);
}
return result;
}
string toBase(long long num, int base) {
if (num == 0) return "0";
string result;
while (num > 0) {
result.push_back(valToChar(num % base));
num /= base;
}
reverse(result.begin(), result.end());
return result;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int base;
string num1, num2;
cin >> base;
cin >> num1;
cin >> num2;
for (char& c : num1) c = toupper(c);
for (char& c : num2) c = toupper(c);
long long sum = toDecimal(num1, base) + toDecimal(num2, base);
string result = toBase(sum, base);
cout << result << "\n";
return 0;
}