Submission
Status:
PPPPPP-PP
Score: 96
User: CyanZ
Problemset: บวกเลขฐาน
Language: c
Time: 0.001 second
Submitted On: 2024-10-16 15:34:49
#include <stdio.h>
#include <string.h>
char base[20] = "0123456789ABCDEF";
int main() {
int x;
char num1[100];
char num2[100];
scanf("%d %s %s",&x,num1,num2);
int m = strlen(num1);
int n = strlen(num2);
int frst = 0, sec = 0, find = 0;
for (int i = 0; i < m; i++) {
frst *= x;
for (int j = 0; j < strlen(base); j++) {
if (num1[i] == base[j]) {
find = j;
break;
}
}
frst += find;
}
for (int i = 0; i < n; i++) {
sec *= x;
for (int j = 0; j < strlen(base); j++) {
if (num2[i] == base[j]) {
find = j;
break;
}
}
sec += find;
}
int sum = frst + sec;
char result[100];
int i = 0;
if (sum == 0) printf("0");
while (sum != 0) {
result[i] = base[sum%x];
sum /= x;
i++;
}
for (int i = strlen(result)-1; i >= 0; i--) {
printf("%c",result[i]);
}
return 0;
}