Submission
Status:
PPPPPPP-P
Subtask/Task Score:
96/100
Score: 96
User: Prap
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2026-04-03 17:02:05
#include <iostream>
#include <cmath>
#include <vector>
#include <string>
using namespace std;
int main() {
int N;
string a,b;
cin>>N>>a>>b;
int alen = a.length();
int blen = b.length();
int aval = 0;
int bval = 0;
int maxlen = blen;
if (alen >= blen) {
maxlen = alen;
}
for (int i = 0; i<alen; i++) {
if (a[i] >= 65) {
aval = aval + (a[i]-55)*pow(N,alen-i-1);
}
else {
aval = aval + (a[i]-48)*pow(N,alen-i-1);
}
}
for (int i = 0; i<blen; i++) {
if (b[i] >= 65) {
bval = bval + (b[i]-55)*pow(N,blen-i-1);
}
else {
bval = bval + (b[i]-48)*pow(N,blen-i-1);
}
}
int mysum = aval + bval;
int ans[maxlen+1];
int nig = 0;
while (mysum != 0) {
if (mysum%N >= 10) {
ans[nig] = mysum%N;
}
else {
ans[nig] = mysum%N;
}
nig++;
mysum = mysum / N;
}
for (int i = nig-1; i>=0; i--) {
if (ans[i] <= 9) {
cout<<ans[i];
}
else {
cout<<char(ans[i] + 55);
}
}
}