Submission
Status:
PPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: fienicl
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.004 second
Submitted On: 2026-09-29 21:49:02
#include <iostream>
#include <cmath>
using namespace std;
int main(){
int base, len1, len2, dec1 = 0, dec2 = 0,sumd;
string num1, num2;
cin >> base >> num1 >> num2;
if(num1 == "0" && num2 == "0"){
cout << "0";
return 0;
}
len1 = num1.size();
len2 = num2.size();
for(int i = 0; i < len1; ++i){
int power1;
power1 = pow(base,(len1-i-1));
// cout << power1 << " ";
if(num1[i] == 'A'){
dec1 += 10*power1;
}
else if(num1[i] == 'B'){
dec1 += 11*power1;
}
else if(num1[i] == 'C'){
dec1 += 12*power1;
}
else if(num1[i] == 'D'){
dec1 += 13*power1;
}
else if(num1[i] == 'E'){
dec1 += 14*power1;
}
else if(num1[i] == 'F'){
dec1 += 15*power1;
}
else{
dec1 += (num1[i]-48)*power1;
}
}
// cout << dec1;
for(int i = 0; i < len2; ++i){
int power2;
power2 = pow(base,(len2-i-1));
if(num2[i] == 'A'){
dec2 += 10*power2;
}
else if(num2[i] == 'B'){
dec2 += 11*power2;
}
else if(num2[i] == 'C'){
dec2 += 12*power2;
}
else if(num2[i] == 'D'){
dec2 += 13*power2;
}
else if(num2[i] == 'E'){
dec2 += 14*power2;
}
else if(num2[i] == 'F'){
dec2 += 15*power2;
}
else{
dec2 += (num2[i]-48)*power2;
}
}
sumd = dec1+dec2;
// cout << sumd;
int sumd2;
sumd2 = sumd;
int lensum = 0;
while(sumd != 0){
sumd = sumd/base;
++lensum;
}
// cout << lensum;
int arr[lensum];
char arr2[lensum];
char a;
for(int i = 0; i < lensum; ++i){
arr[i] = sumd2 % base;
if(arr[i] >= 10){//ABC
a = arr[i] + 55;
arr2[i] = a;
// cout << arr2[i] << " ";
}
else{
// cout << arr[i]+48;
a = arr[i] + 48;
arr2[i] = a;
// cout << arr2[i] << " ";
}
sumd2/=base;
}
for(int i = lensum-1; i >= 0; --i){
cout << arr2[i];
}
}