Submission

Status:

P----PP-P

Subtask/Task Score:

48/100

Score: 48

User: Some1258

Problemset: บวกเลขฐาน

Language: c

Time: 0.002 second

Submitted On: 2025-10-12 18:24:11

#include<stdio.h>
#include<string.h>
int main(){
    int base;
    char num1[50],num2[50];
    scanf("%d %s %s",&base,num1,num2);
    int len1=strlen(num1);
    int len2=strlen(num2);
    int val1=0;
    int val2=0;
    int mult=1;
    for(int i=len1-1;i>=0;i--){
        int temp;
        if(num1[i]>='A'&&num1[i]<='Z'){
            temp=num1[i]-'A'+10;
        }else{
            temp=num1[i]-'0';
        }
        val1+=temp*mult;
        mult*=base;
    }
    mult=1;
    for(int i=len2-1;i>=0;i--){
        int temp;
        if(num2[i]>='A'&&num2[i]<='Z'){
            temp=num2[i]-'A'+10;
        }else{
            temp=num2[i]-'0';
        }
        val2+=temp*mult;
        mult*=base;
    }
    int val3=val1+val2;
    char arr[1000];
    int count=0;
    while(val3!=0){
        int var=val3%base;
        if (var>10){
            arr[count]='A'+var-10;
            count++;
        }else{
            arr[count]='0'+var;
            count++;
        }
        val3=val3/base;
    }
    for (int i = count - 1; i >= 0; i--) {
        printf("%c", arr[i]);
    }
}