Submission

Status:

PPPPPPP-P

Subtask/Task Score:

96/100

Score: 96

User: Jokul

Problemset: บวกเลขฐาน

Language: c

Time: 0.001 second

Submitted On: 2025-10-11 13:40:44

/*#include<stdio.h>
#include<string.h>
int main()
{
    int base;
    scanf("%d",&base);
    char num1[100],num2[100];
    scanf("%s",num1);
    scanf("%s",num2);
    int a;
    a=strlen(num1);
  unsigned long long int n1[a+1],n2[a+1];
    char b[a+1];
  unsigned long long int mul=1;
  for(int i=1;i<a;i++)
    {
      mul=mul*base;
    }
  for(int i=0;i<=a;i++)
    {
      b[i]=0;
    }
    n1[0]=0;
    n2[0]=0;
  for(int i=1;i<=a;i++)
    {
      if(num1[i-1]>=48&&num1[i-1]<=57)
         n1[i]=n1[i-1]+((unsigned long long int)(num1[i-1]-'0')*mul);
      else if(num1[i-1]>=65&&num1[i-1]<base+55&&base>10)
           n1[i]=n1[i-1]+((unsigned long long int)(num1[i-1]-55)*mul);
      if(num2[i-1]>=48&&num2[i-1]<=57)
         n2[i]=n2[i-1]+((unsigned long long int)(num2[i-1]-'0')*mul);
      else if(num2[i-1]>=65&&num2[i-1]<base+55&&base>10)
         n2[i]=n2[i-1]+((unsigned long long int)(num2[i-1]-55)*mul);
      mul=mul/base;
    }
unsigned long long int sum=n1[a]+n2[a];
    for(int i=0;i<=a;i++)
      {
        if(sum%base>=10)
        {
          b[i]=b[i]+'A'+sum%base-10;
        }
        else if(sum%base<10)
        {
          b[i]=b[i]+'0'+sum%base;
        }
        sum=sum/base;

      }
  if(b[a]!='0')
    {
       printf("%c",b[a]);
    }
    for(int i=a-1;i>=0;i--)
      {
        printf("%c",b[i]);
      }

}*/
#include<stdio.h>
#include<string.h>
int pow(int x,long long int y)
{
    long long int mul=1;
    for(int i=1;i<y;i++)
    {
        mul=mul*x;
    }
    return mul;
}
int main()
{
    int base;
    scanf("%d",&base);
    char num1[100],num2[100];
    scanf("%s",num1);
    scanf("%s",num2);
    int a,b;
    a=strlen(num1);
    b=strlen(num2);
     long long int n1[a+1],n2[b+1],l;
     for(int i=0;i<a;i++)
     {
         if(num1[i]<='9')
         {
             n1[i]=(int)(num1[i]-'0');
         }
         else if(num1[i]>='A')
         {
            n1[i]=(int)(num1[i]-'A'+10);
         }
     }
     for(int i=0;i<b;i++)
     {
         if(num2[i]<='9')
         {
             n2[i]=(int)(num2[i]-'0');
         }
         else if(num2[i]>='A')
         {
            n2[i]=(int)(num2[i]-'A'+10);
         }
     }
     long long int mul=pow(base,a);
     long long int sum=0;
     for(int i=0;i<a;i++)
     {
         sum=sum+(n1[i]*mul);
         mul=mul/base;
     }
     mul=pow(base,b);
     for(int i=0;i<b;i++)
     {
         sum=sum+(n2[i]*mul);
         mul=mul/base;
     }
     //printf("%d",sum);
     int l1;
     if(a>b)
     {
         l1=a;
     }
    else{
        l1=b;
    }
    char result[l1],co=0;
    while(sum>0)
    {
       // printf("%d",sum%base);
        if(sum%base>9)
        {
            result[co]=(char)(sum%base-10+'A');
        }
        else if(sum%base<10&&sum%base>=0)
        {
            result[co]=sum%base+'0';
        }
        co++;
        sum/=base;
    }
    //printf("\n");
    for(int i=co-1;i>=0;i--)
    {
        printf("%c",result[i]);
    }
}