Submission
Status:
P-PPPPP-P
Subtask/Task Score:
84/100
Score: 84
User: APNICHANAN
Problemset: บวกเลขฐาน
Language: c
Time: 0.002 second
Submitted On: 2025-09-23 22:15:53
#include <stdio.h>
#include <string.h>
#include <math.h>
int b;
int change(int n, char n1[n])
{
int x10 = 0;
for (int i = 0; i < n; i++)
{
if (n1[i] <= 57 && n1[i] >= 49)
{
x10 += (n1[i] - 48) * pow(b, n - i - 1);
}
else
{
x10 += (n1[i] - 55) * pow(b, n - i - 1);
}
}
return x10;
}
int main()
{
int base, sum, k, f = 0;
char num1[50], num2[50];
scanf("%d", &base);
b = base;
scanf("%s %s", num1, num2);
sum = change(strlen(num1), num1) + change(strlen(num2), num2);
for (int i = 0; i < 100; i++)
{
if (sum < pow(b, i))
{
k = i;
break;
}
}
int m[k];
for (int i = 0; i < k; i++)
{
m[k - i - 1] = sum % b;
sum = sum / b;
}
for (int i = 0; i < k; i++)
{
if (m[i] < 10 && m[i] >= 0)
{
printf("%d", m[i]);
}
else
{
char w = m[i] + 55;
printf("%c", w);
}
}
}