Submission

Status:

PPPPPPP-P

Subtask/Task Score:

96/100

Score: 96

User: asdasd

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-12 18:42:59

#include <stdio.h>
#include <string.h>
#include <math.h>
int main(){
    int base;
    char num1[100];
    char num2[100];
    scanf("%d %s %s",&base,num1,num2);
    int tenbase1=0;
    int tenbase2=0;
    for(int i = 0 ; i<strlen(num1) ; i++){
        if(num1[i]>='0'&&num1[i]<='9'){
            tenbase1 += (num1[i]-'0')*pow(base,strlen(num1)-1-i);
        }
        else{
            tenbase1 += (num1[i]-55)*pow(base,strlen(num1)-1-i);
        }
    }
    for(int i = 0 ; i<strlen(num2) ; i++){
        if(num2[i]>='0'&&num2[i]<='9'){
            tenbase2 += (num2[i]-'0')*pow(base,strlen(num2)-1-i);
        }
        else{
            tenbase2 += (num2[i]-55)*pow(base,strlen(num2)-1-i);
        }
    }
    int sum = tenbase1 + tenbase2;
    int finalsum[100];
    int pos = 0;
    for(int i = sum ; i>0 ; i=i/base){
        finalsum[pos]=i%base;
        pos++;
    }
    for(int i = pos-1 ; i>=0 ; i--){
        if(finalsum[i]<=9){
        printf("%d",finalsum[i]);
        }
        else{
        printf("%c",'A'+finalsum[i]-10);
        }
    }
}