Submission
Status:
PPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: FIrmTInn
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-13 19:39:26
#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;
if(sum == 0){
cout << 0;
return 0;
}
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;
}