Submission

Status:

PPPPPPP-P

Subtask/Task Score:

96/100

Score: 96

User: FIrmTInn

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-13 19:38:05

#include<iostream>
#include<cmath>
#include<vector>
using namespace std;
long long ten(string str, int b){
    long long val =0;
    int len = str.length();
    int multiple = len-1;
    int digit;
    for(int i=0;str[i]!='\0';i++){
        if(str[i] >= '0' && str[i] <= '9'){
            digit = str[i] - '0';
        }
        else if(str[i] >= 'A' && str[i] <= 'F'){
            digit = str[i] - 'A' + 10;
        }
        val += (digit * pow(b,multiple));
        multiple--;
    }
    return val;
}

int main(){
    int base,a;
    long long sum;
    cin >> base;
    string  num1,num2;
    cin >> num1 >> num2;
    sum = ten(num1,base) + ten(num2,base);
    vector<char> str1;
    for(int i=sum;i>0;i/=base){
        a = i % base;
        if(a >= 0 && a <= 9){
            str1.push_back(char('0' + a));
        }
        else if(a >= 10 && a <= 15){
            str1.push_back(char('A' + a - 10));
        }
    }
    int n = str1.size();
    for(int i=n-1;i>=0;i--){
        cout << str1[i];
    }


    return 0;
}