Submission

Status:

------P--

Subtask/Task Score:

12/100

Score: 12

User: erng

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.003 second

Submitted On: 2025-09-26 15:01:06

#include <bits/stdc++.h>
using namespace std;

int n, va, vb,k=1, num;
string a,b;
int ax[100], bx[100];

int main()
{
    cin>>n>>a>>b;
    for (int i=0; i<a.size(); i++)
    {
        if ('A'<=a[i] && a[i]<'Z')
        {
            ax[i]=(int)(a[i]-55);
        }
        else
        {
            ax[i]=a[i]-'0';
        }
    }
    for (int i=0; i<b.size(); i++)
    {
        if ('A'<=b[i] && b[i]<'Z')
        {
            bx[i]=b[i]-55;
        }
        else
        {
            bx[i]=b[i]-'0';
        }
    }
    for (int i=a.size()-1; i>=0; i--)
    {
        va=va+ax[i]*k;
        k=k*n;
    }
    k=1;
    for (int i=b.size()-1; i>=0; i--)
    {
        vb=vb+bx[i]*k;
        k=k*n;
    }
    num=va+vb;
    while (num>0)
    {
        k=num%n;
        if (k>9) cout<<(char)('A'+k-10);
        else cout<<k;
        num=num/n;
    }
}