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;

}