Submission

Status:

P-----PP-

Subtask/Task Score:

36/100

Score: 36

User: neutron

Problemset: บวกเลขฐาน

Language: c

Time: 0.002 second

Submitted On: 2025-10-13 18:14:54

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

int main (){
    int base;
    scanf("%d",&base);
    char c1[100],c2[100];
    scanf("%s",c1);
    scanf("%s",c2);
    int n1=strlen(c1),n2=strlen(c2);
    int m1[n1],m2[n2];
    int i;
    for(i=0;i<n1;i++){
        if(c1[i]>='0'&&c1[i]<='9')m1[i]=c1[i]-'0';
        if(c1[i]>='A'&&c1[i]<='Z')m1[i]=c1[i]-'A'+10;
    }for(i=0;i<n2;i++){
        if(c2[i]>='0'&&c2[i]<='9')m2[i]=c2[i]-'0';
        if(c2[i]>='A'&&c2[i]<='Z')m2[i]=c2[i]-'A'+10;
    }
    int count=0,g[n1+1];
    for(i=n1-1;i>=0;i--){
        g[i]=m1[i]+m2[i]+count;
        count=0;
        if(g[i]>=base){
            g[i]=g[i]-base;
            count=1;
        }
    }
    for(i=0;i<n1;i++){
        if(g[i]<10){
            printf("%c",g[i]+'0');
        }else if(g[i]>9){
            printf("%c",g[i]+'A'-10);
        }
        
    } 
}