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;
}