Submission
Status:
PPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: solarsunny
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2025-09-26 22:10:19
#include <bits/stdc++.h>
using namespace std;
char tableau[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int chartonum(char c) {
switch (c)
{
case 'A':
return 10;
case 'B':
return 11;
case 'C':
return 12;
case 'D':
return 13;
case 'E':
return 14;
case 'F':
return 15;
default:
return c-'0';
}
}
int main() {
int base=0;
string num1,num2;
cin >> base;
cin >> num1;
cin >> num2;
string out="";
int c=0;
while (!(num1.empty()) or !(num2.empty()))
{
int n1 = 0;
if (!num1.empty()) {
n1 = chartonum(num1.back());
num1.pop_back();
}
int n2 = 0;
if (!num2.empty()) {
n2 = chartonum(num2.back());
num2.pop_back();
}
int n3 = n1+n2+c;
c = n3/base;
n3 = n3%base;
out.push_back(tableau[n3]);
}
if(c!=0) {
out.push_back(tableau[c]);
}
reverse(out.begin(),out.end());
cout << out << "\n";
}