Submission
Status:
PPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: APNICHANAN
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-06 19:36:29
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int b, n10 = 0, n20 = 0, sum, ans[200], k;
cin >> b;
string n1, n2;
cin >> n1 >> n2;
for (int i = 0; i < n1.length(); i++)
{
if (n1[i] >= '0' && n1[i] <= '9')
{
n10 += (n1[i] - '0') * pow(b, n1.length() - i - 1);
}
else
{
n10 += (n1[i] - 55) * pow(b, n1.length() - i - 1);
}
}
for (int i = 0; i < n2.length(); i++)
{
if (n2[i] >= '0' && n2[i] <= '9')
{
n20 += (n2[i] - '0') * pow(b, n2.length() - i - 1);
}
else
{
n20 += (n2[i] - 55) * pow(b, n2.length() - i - 1);
}
}
sum = n10 + n20;
for (int i = 0;; i++)
{
k = i;
ans[i] = sum % b;
sum -= sum % b;
sum /= b;
if (sum == 0)
break;
}
for (int i = k; i >= 0; i--)
{
if (ans[i] >= 10)
cout << (char)(ans[i] + 55);
else
cout << ans[i];
}
cout << endl;
}