Submission

Status:

PPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: pann

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.003 second

Submitted On: 2026-10-04 22:54:36

#include <iostream>
#include <math.h>
#include <algorithm>
using namespace std;

int main(){
    int base;
    string n1, n2;
    cin >> base >> n1 >> n2;
    int dec = 0;
    for (int i = n1.length()-1;i >= 0; i--){
        int n;
        if (n1[i] >= 'A' && n1[i] <= 'Z'){
            n = 10+n1[i]-'A';
        }
        else {
            n = n1[i]-'0';
        }
        dec += n*pow(base, n1.length()-1-i);
    }

    for (int i = n2.length()-1;i >= 0; i--){
        int n;
        if (n2[i] >= 'A' && n2[i] <= 'Z'){
            n = 10+n2[i]-'A';
        }
        else {
            n = n2[i]-'0';
        }
        dec += n*pow(base, n2.length()-1-i);
    }
    string ans;
    while (dec > 0){
        if (dec%base > 9){
            ans += (char)(dec%base+'A'-10);
        }
        else {
            ans += (char)(dec%base+'0');
        }
        dec /= base;
    }
    reverse(ans.begin(), ans.end());
    if (ans.empty()) cout << "0";
    else cout << ans;
    return 0;
}