Submission

Status:

PPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: mrblbb

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.004 second

Submitted On: 2025-10-10 21:30:04

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

int main(){
    int base;
    scanf("%d", &base);
    char num[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    char n1[10], n2[10];
    int ans[20];
    int num1=0, num2=0, a;
    scanf("%s %s", n1, n2);
    for (int i=0; i<strlen(n1); i++){
        for (int j=0; j<base; j++){
            if (n1[i]==num[j]){
                num1+= j * pow(base, strlen(n1)-i-1);
            }
        }
    }
    for (int i=0; i<strlen(n2); i++){
        for (int j=0; j<base; j++){
            if (n2[i]==num[j]){
                num2+= j * pow(base, strlen(n2)-i-1);
            }
        }
    }
    a = num1+num2;
    if (a==0){
        printf("0");
        return 0;
    }
    int g=0;
    while (a>0){
        ans[g] = a%base;
        a = a/base;
        g++;
    }
    for (int i=g-1; i>=0; i--){
        for (int j=0; j<base; j++){
            if (ans[i]==j){
                printf("%c", num[j]);
            }
        }
    }
}