Submission
Status:
PPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: mnmpyuuu
Problemset: บวกเลขฐาน
Language: c
Time: 0.001 second
Submitted On: 2025-10-10 22:57:34
/*#include<stdio.h>
#include<math.h>
#include<string.h>
int toten(int n,char a[])
{
int sum=0;
int m=strlen(a)-1;
for(int i=0;i<=m;i++)
{
int x;
if(a[i]>='A'&&a[i]<='F')
{
x=a[i]-'0'-7;
}
else
{
x=a[i]-'0';
}
sum=sum+(pow(n,m-i))*x;
}
return sum;
}
int main()
{
int base;
scanf("%d",&base);
char a[100];
char b[100];
scanf("%s",a);
scanf("%s",b);
int x;
x=toten(base,a);
int y;
y=toten(base,b);
int sum=x+y;
//printf("%d",sum);
int m=sum,i=0;
int r[100];
while(m!=0)
{
r[i]=m%base;
m=m/base;
i++;
}
for(int j=i-1;j>=0;j--)
{
if(r[j]>=10)
{
printf("%c",r[j]-10+'A');
}
else
{
printf("%d",r[j]);
}
}
}*/
#include <stdio.h>
#include <math.h>
#include <string.h>
int toten(int n, char a[])
{
int sum = 0;
int m = strlen(a) - 1;
for (int i = 0; i <= m; i++)
{
int x;
if (a[i] >= 'A' && a[i] <= 'F')
x = a[i] - '0' - 7; // 'A' (65) - '0'(48) -7 = 10
else
x = a[i] - '0';
sum += (int)pow(n, m - i) * x;
}
return sum;
}
int main()
{
int base;
scanf("%d", &base);
char a[100], b[100];
scanf("%s", a);
scanf("%s", b);
int x = toten(base, a);
int y = toten(base, b);
int sum = x + y;
// ??Ҽ???????ٹ??
if (sum == 0) {
printf("0\n");
return 0;
}
int r[100];
int i = 0;
int m = sum;
while (m != 0)
{
r[i] = m % base;
m /= base;
i++;
}
for (int j = i - 1; j >= 0; j--)
{
if (r[j] >= 10)
printf("%c", r[j] - 10 + 'A');
else
printf("%d", r[j]);
}
printf("\n");
}