Submission

Status:

P-----PP-

Subtask/Task Score:

36/100

Score: 36

User: Jokul

Problemset: บวกเลขฐาน

Language: c

Time: 0.002 second

Submitted On: 2025-10-01 20:22:40

#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];
    char b[a+1];
  int mul=1;
  for(int i=1;i<a;i++)
    {
      mul=mul*base;
    }
  for(int i=1;i<=a;i++)
    {
      b[i]=0;
    }
  b[0]='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]=(num1[i-1]-'0');
      else if(num1[i-1]>=65&&num1[i-1]<base+55&&base>10)
           n1[i]=(num1[i-1]-55);
      if(num2[i-1]>=48&&num2[i-1]<=57)
         n2[i]=(num2[i-1]-'0');
      else if(num2[i-1]>=65&&num2[i-1]<base+55&&base>10)
         n2[i]=(num2[i-1]-55);

    }
  //////////////////////////////////////////////////////////
  int sum[a+1];
    for(int i=1;i<=a;i++)
      {
        sum[i]=n1[i]+n2[i];
        if(sum[i]>=base)
          {
            if(sum[i]%base>=10)
            {
              b[i]=b[i]+'A'+sum[i]%base-10;
            }
            else{
            b[i]=b[i]+'0'+sum[i]%base;
            }
            b[i-1]=b[i-1]+1;
          }
        else if(sum[i]%base>=10&&sum[i]<base)
        {
          b[i]=b[i]+'A'+sum[i]%base-10;
        }
        else if(sum[i]%base<10&&sum[i]<base)
        {
          b[i]=b[i]+'0'+sum[i]%base;
        }
      }

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