Submission
Status:
PPPPPPP-P
Subtask/Task Score:
96/100
Score: 96
User: august
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.003 second
Submitted On: 2025-09-29 23:46:52
#include <stdio.h>
int tonum(char c) {
if (c>='0' && c<='9') return c-'0';
else return c-'A'+10;
}
char toc(int c) {
if (c>=0 && c<=9) return '0'+c;
else return 'A'+c-10;
}
int todec(char c[], int b) {
int val=0, i=0;
while (c[i] != '\0') {
val = val*b + tonum(c[i]);
i++;
}
return val;
}
int main() {
int b;
char n1[30], n2[30];
scanf("%d %s %s",&b, n1,n2);
int sm= todec(n1, b) + todec(n2, b);
char ans[30];
for (int i=0; i<30 ;i++) ans[i] = 'U';
int i=0;
while (sm != 0) {
ans[i] = toc(sm%b);
sm/=b;
i++;
}
for (int i=29; i>=0; i--) {
if (ans[i] == 'U') continue;
printf("%c", ans[i]);
}
}