Submission
Status:
---------
Subtask/Task Score:
0/100
Score: 0
User: angpangSK
Problemset: บวกเลขฐาน
Language: c
Time: 0.002 second
Submitted On: 2025-09-23 11:59:37
#include <stdio.h>
#include <math.h>
void convert_to_base(int num, int base, char* result) {
int i = 0;
char digits[] = "0123456789ABCDEF";
if (num == 0) {
result[i++] = '0';
}
while (num > 0) {
result[i++] = digits[num % base];
num /= base;
}
result[i] = '\0';
for (int j = 0; j < i / 2; j++) {
char temp = result[j];
result[j] = result[i - j - 1];
result[i - j - 1] = temp;
}
}
int main() {
int base;
printf("Base: ");
scanf("%d", &base);
int num1, num2;
printf("Num1 ");
scanf("%d", &num1);
printf("Num2 ");
scanf("%d", &num2);
if (base == 10) {
printf("OUTPUT %d\n", num1 + num2);
return 0;
}
int num1_base10 = 0, num2_base10 = 0;
int i = 0;
while (num1 > 0) {
num1_base10 += (num1 % 10) * pow(base, i);
num1 /= 10;
i++;
}
i = 0;
while (num2 > 0) {
num2_base10 += (num2 % 10) * pow(base, i);
num2 /= 10;
i++;
}
int sum = num1_base10 + num2_base10;
char sum_base[100];
convert_to_base(sum, base, sum_base);
printf("OUTPUT %s",sum_base);
return 0;
}