Submission

Status:

-------P-

Subtask/Task Score:

12/100

Score: 12

User: onlyme910

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-08 18:54:12

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

char digitToChar(int n) {
    if (n < 10)
        return '0' + n;
    else
        return 'A' + (n - 10);
}

int CharTodigit(char n){
    if (n <= '9')
        return n - '0';
    else
        return (n-'A')+10;
}

int main(){
    int base;
    string n1,n2;
    cin >> base >> n1>> n2;
    int ln1 = n1.length(),ln2 = n2.length();
    int bin1 = 0,bin2 = 0;
    for(int i = 0;i < ln1;i++){
        cout << CharTodigit(n1[i]);
        int bin = CharTodigit(n1[i]) * pow(base,ln1-i-1);
        bin1 += bin;
    }
    for(int i = 0;i < ln2;i++){
        int bin = CharTodigit(n2[i]) * pow(base,ln2-i-1);
        bin2 += bin;
    }
    int sum = bin1+bin2;
    string ans = "";

    while(sum > 0){
        int k;
        k = sum%base;
        sum = sum/base;
        ans += digitToChar(k);
    }
    reverse(ans.begin(), ans.end());
    cout << ans;
}