Submission
Status:
P--PP-PP-
Subtask/Task Score:
60/100
Score: 60
User: Jokul
Problemset: บวกเลขฐาน
Language: c
Time: 0.003 second
Submitted On: 2025-09-30 16:46:34
/*#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 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]);
}
}