Submission
Status:
P-----P-P
Subtask/Task Score:
36/100
Score: 36
User: limsan
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2026-06-10 21:29:54
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int x = 0, sum = 0, sum1 = 1, index = 0;
string y, z;
cin >> x;
cin >> y >> z;
for (int i = 0; i < y.size(); i++)
{
if (y[i] == '0' || y[i] == '1' || y[i] == '2' || y[i] == '3' || y[i] == '4' || y[i] == '5' || y[i] == '6' || y[i] == '7' || y[i] == '8' || y[i] == '9')
sum += (pow(x, (y.size() - i - 1)) * (y[i] - '0'));
else
sum += (pow(x, (y.size() - i - 1)) * ((int(y[i]) - 55)));
}
for (int i = 0; i < z.size(); i++)
{
if (z[i] == '0' || z[i] == '1' || z[i] == '2' || z[i] == '3' || z[i] == '4' || z[i] == '5' || z[i] == '6' || z[i] == '7' || z[i] == '8' || z[i] == '9')
sum += (pow(x, (z.size() - i - 1)) * (z[i] - '0'));
else
sum += (pow(x, (z.size() - i - 1)) * ((int(z[i]) - 55)));
}
while (1)
{
if (sum1 > sum)
{
index--;
break;
}
sum1 *= x;
index++;
}
// cout << sum << " " << index << " ";
for (int i = index; i >= 0; i--)
{
if (sum / pow(x, i) <= 9 && sum / pow(x, i) >= 0)
{
cout << int(sum / pow(x, i));
sum -= (int(sum / pow(x, i)) * pow(x, i));
}
else
{
cout << char((sum / pow(x, i)) + 55);
sum -= ((sum / pow(x, i)) * ((sum / pow(x, i)) + 55));
}
}
return 0;
}