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;
}