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));
}
}
}
}