Submission

Status:

PPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: august

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-01 19:59:10

#include <stdio.h>
#include <string.h>

char s[20] = "0123456789ABCDEF";

int main() {
    int b;
    char n1[100], n2[100];

    scanf("%d %s %s", &b,n1,n2);

    int sm=0, fir=0, sec=0;

    for (int i=0; i<strlen(n1); i++) {
        fir*=b;
        for (int j=0; j<16; j++) {
            if (n1[i]==s[j]) {
                fir+=j;
                break;
            }
        }
    }

    for (int i=0; i<strlen(n2); i++) {
        sec*=b;
        for (int j=0; j<16; j++) {
            if (n2[i]==s[j]) {
                sec+=j;
                break;
            }
        }
    }

    sm=fir+sec;
    char ans[100]={};
    int i=0;
    if (sm==0) printf("%d", 0);
    while (sm != 0) {
        ans[i] = s[sm%b];   
        sm/=b;
        i++;
    }
    for (int j=strlen(ans)-1; j>=0; j--) {
        printf("%c", ans[j]);
    }

}