Submission
Status:
PPPPPPPPP
Score: 100
User: Spongebob
Problemset: บวกเลขฐาน
Language: c
Time: 0.002 second
Submitted On: 2024-10-16 23:40:09
#include <stdio.h>
#include <string.h>
#include <math.h>
int main () {
int base, i;
char num1[255], num2[255];
scanf("%d %254s %254s", &base, &num1, &num2);
int base10_num1 = 0, len_1 = strlen(num1);
int base10_num2 = 0, len_2 = strlen(num2);
int sum = 0;
char sum_base[255], index = 0;
for (i = 0; *(num1+i) != '\0'; i++) {
if (*(num1+i) >= '0' && *(num1+i) <= '9')
base10_num1 += (*(num1+i) - '0')*pow(base, len_1-1-i);
else
base10_num1 += (10 + *(num1+i) - 'A')*pow(base, len_1-1-i);
}
for (i = 0; *(num2+i) != '\0'; i++) {
if (*(num2+i) >= '0' && *(num2+i) <= '9')
base10_num2 += (*(num2+i) - '0')*pow(base, len_2-1-i);
else
base10_num2 += (10 + *(num2+i) - 'A')*pow(base, len_2-1-i);
}
sum = base10_num1 + base10_num2;
if (sum == 0) {
printf("0");
return 0;
}
while (sum) {
if (sum % base < 10)
sum_base[index] = (sum % base) + '0';
else
sum_base[index] = 'A'+ (sum % base - 10);
sum /= base;
index++;
}
for (i = index-1; i >= 0; i--) {
printf("%c", sum_base[i]);
}
return 0;
}