Submission
Status:
PPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: maxprogoji
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-05 09:05:49
#include <iostream>
#include <algorithm>
using namespace std;
int pow(int a, int b){
int r = 1;
for(int i=0;i<b;i++){
r *= a;
}
return r;
}
int toten(int b, string i){
int sum = 0;
reverse(i.begin(),i.end());
for(int j = 0; j < i.size(); j++){
i[j] >= '0' && i[j]<= '9' ? sum += ((i[j] - '0') * (pow(b,j))) : sum += (i[j] - 'A' + 10) * (pow(b,j));
}
return sum;
}
string tobase(int b, int i){
string r = "";
i == 0 ? r = "0" : r = "";
while(i > 0){
int c = i % b;
c >= 0 && c <= 9 ? r = to_string(c) + r : r = (char)(c+55) + r;
i /= b;
}
return r;
}
int main(){
int b;
string i1,i2;
cin >> b >> i1 >> i2;
cout << tobase(b, (toten(b, i1) + toten(b, i2)));
}