Submission

Status:

PPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: TonnamSora

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.002 second

Submitted On: 2025-09-25 20:53:47

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

int power(int x, int y){
    int result = 1;
    for(int i = 0; i < y; i++){
        result *= x;
    }
    return result;
}

int main(){
    int n;
    string Num1, Num2;
    cin >> n >> Num1 >> Num2;
    int Tennum1 = 0, Tennum2 = 0;
    int a = Num1.length();
    int b = Num2.length();
    for(int i = 0; i < a; i++){
        if(Num1[i] >= 'A'){
            Tennum1 += (Num1[i] - 'A' + 10) * power(n, a - i - 1);
        }
        else{
            Tennum1 += (Num1[i] - '0') * power(n, a - i - 1);
        }
    }
    for(int i = 0; i < b; i++){
        if(Num2[i] >= 'A'){
            Tennum2 += (Num2[i] - 'A' + 10) * power(n, b - i - 1);
        }
        else{
            Tennum2 += (Num2[i] - '0') * power(n, b - i - 1);
        }
    }
    int Sumtennum = Tennum1 + Tennum2;
    //cout << Sumtennum;
    int Checkfordigits = Sumtennum;
    int digit = 0;
    if (Sumtennum == 0) {
        cout << 0;
        return 0;
    }
    while(Checkfordigits > 0){
        Checkfordigits = Checkfordigits / n;
        digit++;
    }
    int nnum[digit];
    for(int i = digit - 1; i >= 0; i--){
        nnum[i] = Sumtennum % n;
        Sumtennum = Sumtennum / n;
    }
    for(int i = 0; i < digit; i++){
        if(nnum[i] < 10){
            cout << nnum[i];
        }
        else{
            cout << char('A' + nnum[i] - 10);
        }
    }
}