Submission

Status:

PPPPPPP-P

Subtask/Task Score:

96/100

Score: 96

User: kenmuay

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-12 20:29:06

#include <bits/stdc++.h>
using namespace std;

int changebase(int base, string n){
    int l=n.size();
    int sum=0;
    
    for(int i=0; i<l; i++){
        int m;
        if(n[i]-'0' >= 0 && n[i]-'0'<=10) m=n[i]-'0';
        else if(n[i]-'A' >=0 && n[i]-'A'<=6) m=n[i]-'A'+10;
        //cout << pow(base,l-i-1) << endl;
        //cout << m << " " << sum << endl;
        sum += m*pow(base,l-i-1);
    }
    // cout << sum;
    return sum;
}

string changeback(int base, int n){
    string sum;
    while(n!=0){
        if(n%base<10) sum+=to_string(n%base);
        else sum+=n%base-10+'A';
        n/=base;
    }
    return sum;
}

int main(){
    int base;
    cin >> base;
    string n1,n2;
    cin >> n1 >> n2;
    int a = changebase(base,n1);
    int b = changebase(base,n2);
    int sum=a+b;
    string ans = changeback(base,sum);
    reverse(ans.begin(),ans.end());
    cout << ans;

    return 0;
}