Submission

Status:

P----PPPP

Subtask/Task Score:

60/100

Score: 60

User: kenkong587

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.005 second

Submitted On: 2026-09-29 15:16:42

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

int main(){

    int base;
    char num1[50];
    char num2[50];

    scanf("%d",&base);
    scanf("%s",num1);
    scanf("%s",num2);

    int n1[strlen(num1)];
    int n2[strlen(num2)];

    for(int i = 0;i < strlen(num1);i++){
        if(num1[i] == '0'){
            n1[i] = 0;
        }
        else if(num1[i] == '1'){
            n1[i] = 1;
        }
        else if(num1[i] == '2'){
            n1[i] = 2;
        }
        else if(num1[i] == '3'){
            n1[i] = 3;
        }
        else if(num1[i] == '4'){
            n1[i] = 4;
        }
        else if(num1[i] == '5'){
            n1[i] = 5;
        }
        else if(num1[i] == '6'){
            n1[i] = 6;
        }
        else if(num1[i] == '7'){
            n1[i] = 7;
        }
        else if(num1[i] == '8'){
            n1[i] = 8;
        }
        else if(num1[i] == '9'){
            n1[i] = 9;
        }
        else if(num1[i] == 'A'){
            n1[i] = 10;
        }
        else if(num1[i] == 'B'){
            n1[i] = 11;
        }
        else if(num1[i] == 'C'){
            n1[i] = 12;
        }
        else if(num1[i] == 'D'){
            n1[i] = 13;
        }
        else if(num1[i] == 'E'){
            n1[i] = 14;
        }
        else{
            n1[i] = 15;
        }
    }

    for(int i = 0;i < strlen(num2);i++){
        if(num2[i] == '0'){
            n2[i] = 0;
        }
        else if(num2[i] == '1'){
            n2[i] = 1;
        }
        else if(num2[i] == '2'){
            n2[i] = 2;
        }
        else if(num2[i] == '3'){
            n2[i] = 3;
        }
        else if(num2[i] == '4'){
            n2[i] = 4;
        }
        else if(num2[i] == '5'){
            n2[i] = 5;
        }
        else if(num2[i] == '6'){
            n2[i] = 6;
        }
        else if(num2[i] == '7'){
            n2[i] = 7;
        }
        else if(num2[i] == '8'){
            n2[i] = 8;
        }
        else if(num2[i] == '9'){
            n2[i] = 9;
        }
        else if(num2[i] == 'A'){
            n2[i] = 10;
        }
        else if(num2[i] == 'B'){
            n2[i] = 11;
        }
        else if(num2[i] == 'C'){
            n2[i] = 12;
        }
        else if(num2[i] == 'D'){
            n2[i] = 13;
        }
        else if(num2[i] == 'E'){
            n2[i] = 14;
        }
        else{
            n2[i] = 15;
        }
    }

    long long all1 = 0;
    long long all2 = 0;;

    for(int i = 0;i < strlen(num1);i++){
        all1 += (n1[i])*(pow(base, (strlen(num1) - 1 - i)));
    }
    for(int i = 0;i < strlen(num2);i++){
        all2 += (n2[i])*(pow(base, (strlen(num2) - 1 - i)));
    }

    int all = all1 + all2;
    int call = all;

    int a = 0;

    do{
        call = call / base;
        a++;
    }while(call > 1);

    char baseall[a];

    for(int i = 0;i < a;i++){
        int b = all % base;
        if(b == 0){
            baseall[i] = '0';
        }
        else if(b == 1){
            baseall[i] = '1';
        }
        else if(b == 2){
            baseall[i] = '2';
        }
        else if(b == 3){
            baseall[i] = '3';
        }
        else if(b == 4){
            baseall[i] = '4';
        }
        else if(b == 5){
            baseall[i] = '5';
        }
        else if(b == 6){
            baseall[i] = '6';
        }
        else if(b == 7){
            baseall[i] = '7';
        }
        else if(b == 8){
            baseall[i] = '8';
        }
        else if(b == 9){
            baseall[i] = '9';
        }
        else if(b == 10){
            baseall[i] = 'A';
        }
        else if(b == 11){
            baseall[i] = 'B';
        }
        else if(b == 12){
            baseall[i] = 'C';
        }
        else if(b == 13){
            baseall[i] = 'D';
        }
        else if(b == 14){
            baseall[i] = 'E';
        }
        else{
            baseall[i] = 'F';
        }
        all /= base;
    }

    for(int i = a-1;i > -1;i--){
        printf("%c",baseall[i]);
    }

    return 0;
}