Submission

Status:

PPPPPPP-P

Subtask/Task Score:

96/100

Score: 96

User: kinzap

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.003 second

Submitted On: 2025-10-12 11:02:38

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

string n1,n2,ans,num;
char h;
int sum,b,p,q,a;

int main(){
    cin >> b >> n1 >> n2;
    for(int i = 0;i<n1.length();i++){
        if(n1[n1.length()-i-1]>=65){
            a=n1[n1.length()-i-1]-'A'+10;
        }
        else {
            a=n1[n1.length()-i-1]-'0';
        }
        //cout << "a " << a<<endl;
        p+=pow(b,i)*a;
    }
    for(int i = 0;i<n2.length();i++){
        if(n2[n2.length()-i-1]>=65){
            a=n2[n2.length()-i-1]-'A'+10;
        }
        else {
            a=n2[n2.length()-i-1]-'0';
        }
        q+=pow(b,i)*a;
    }
    sum = p+q;
    //cout << p << " " << q<< " " <<sum<<endl ;
    while(sum>0){
        //cout << "sum "<<sum;
        if(sum%b<10){
            a= sum%b;
            num = to_string(a);
            ans=num+ans;
        }
        else{
            a= sum%b;
            h =  'A' + (a-10);
            //cout << "h " <<h;
            ans=h+ans;
        }
        
        //out << "sum "<<sum;
        
        sum/=b;
        //cout << " a " << a <<endl;
    }
    cout  <<ans;


}