Submission

Status:

P--PP-PP-

Subtask/Task Score:

60/100

Score: 60

User: Jokul

Problemset: บวกเลขฐาน

Language: c

Time: 0.002 second

Submitted On: 2025-10-11 10:31:42

#include<stdio.h>
#include<string.h>
int main()
{
    int base;
    scanf("%d",&base);
    char num1[1000],num2[1000];
    scanf("%s",num1);
    scanf("%s",num2);
    int a;
    a=strlen(num1);
   int n1[a+1],n2[a+1],sum[a+1];
   for(int i=0;i<=a;i++)
   {
       sum[i]=0;
   }
    for(int i=1;i<=a;i++)
    {
        if(num1[i-1]<='9')
        {
            n1[i]=(int)(num1[i-1]-'0');
        }
        else
        {
            n1[i]=(int)(num1[i-1]-'A'+10);
        }
        if(num2[i-1]<='9')
        {
            n2[i]=(int)(num2[i-1]-'0');
        }
        else
        {
            n2[i]=(int)(num2[i-1]-'A'+10);
        }
    }
    for(int i=1;i<=a;i++)
    {
        sum[i]=n1[i]+n2[i];
        if(sum[i]>=base)
        {
            sum[i]=sum[i]%base;
            sum[i-1]++;
        }
    }
   /* printf("\n");
    for(int i=0;i<=a;i++)
    {
        printf("%d ",sum[i]);
    }*/
    for(int i=0;i<=a;i++)
    {
        if(sum[i]==0&&i==0)
        {
            continue;
        }
        else if(sum[i]==1&&i==0)
        {
         printf("1");
        }
        if(i>0)
        {
            if(sum[i]<10)
            {
                printf("%d",sum[i]);
            }
            else
            {
                printf("%c",'A'+(sum[i]%10));
            }
        }
    }
}