Submission
Status:
PPPPPPP-P
Subtask/Task Score:
96/100
Score: 96
User: ztmy_
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-13 09:03:19
#include <iostream>
using namespace std;
int toDecimal(string n, int base){
int len = n.length();
int ans = 0;
int power = 1;
for (int i = len-1; i >= 0; i--){
int digit = 0;
if (n[i] >= '0' && n[i] <= '9') digit = n[i] - '0';
if (n[i] >= 'A' && n[i] <= 'F') digit = n[i] - 'A' + 10;
ans += digit*power;
power *= base;
}
return ans;
}
string fromDecimal(int n, int base){
string s = "0123456789ABCDEF";
string ans = "";
while (n != 0){
ans = s[n%base] + ans;
n /= base;
}
return ans;
}
int main(){
string num1, num2;
int base;
cin >> base >> num1 >> num2;
int sum = toDecimal(num1, base) + toDecimal(num2, base);
string ans = fromDecimal(sum, base);
cout << ans;
}