Submission
Status:
PPPPPPPPP
Score: 100
User: CyanZ
Problemset: บวกเลขฐาน
Language: c
Time: 0.002 second
Submitted On: 2024-10-16 15:54:46
#include <stdio.h>
#include <string.h>
char base[20] = "0123456789ABCDEF";
int main() {
long long x;
char num1[100];
char num2[100];
scanf("%lld %s %s",&x,num1,num2);
long long m = strlen(num1);
long long n = strlen(num2);
long long 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;
}
find = 0;
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;
}
long long 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;
}