Submission

Status:
PPPPPPPPP

Score: 100

User: Monasm

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.002 second

Submitted On: 2024-10-02 20:42:38

#include <bits/stdc++.h>

using namespace std;

int main() {
    int n;cin >> n;
    string s1, s2;cin >> s1 >> s2;
    int ans = 0, p = 0;
    for (int i = s1.size() - 1; i >= 0; i--) {
        int x = (int(s1[i]) >= 65) ? (int(s1[i]) - 55) : (int(s1[i]) - 48);
        ans += x*pow(n, p++);
    }
    p = 0;
    for (int i = s2.size() - 1; i >= 0; i--) {
        int x = (int(s2[i]) >= 65) ? (int(s2[i]) - 55) : (int(s2[i]) - 48);
        ans += x*pow(n, p++);
    }
    if(ans==0){
        cout<<0;
        return 0;
    }
    string a;
    while(ans > 0){
        int r = ans % n;
        if (r >= 10) {
            a += (char)(r - 10 + 'A'); 
        }
        else{
            a += (char)(r + '0'); 
        }
        ans /= n;
    }
    reverse(a.begin(), a.end());
    cout << a;

}