Submission

Status:

PPPPPPP-P

Subtask/Task Score:

96/100

Score: 96

User: august

Problemset: บวกเลขฐาน

Language: c

Time: 0.002 second

Submitted On: 2025-09-29 23:51:54

#include <stdio.h>

int tonum(char c) {
    if (c>='0' && c<='9') return c-'0';
    else return c-'A'+10;
}
char toc(int c) {
    if (c>=0 && c<=9) return '0'+c;
    else return 'A'+c-10;
}
int todec(char c[], int b) {
    int val=0, i=0;
    while (c[i] != '\0') {
        val = val*b + tonum(c[i]);
        i++;
    }
    return val;
}
int main() {
    int b;
    char n1[1000], n2[1000];
    scanf("%d %s %s",&b, n1,n2);  
    
    int sm= todec(n1, b) + todec(n2, b);
    char ans[1000];
    for (int i=0; i<1000 ;i++) ans[i] = 'U';
    int i=0;
    while (sm != 0) {
        ans[i] = toc(sm%b);
        sm/=b;
        i++;
    }
    for (int i=999; i>=0; i--) {
        if (ans[i] == 'U') continue;
        printf("%c", ans[i]);
    }
}