Submission

Status:

PPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Weathery

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.004 second

Submitted On: 2026-10-02 10:37:17

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

int main() {
	char n[2][100];
	int i,j,k,b;
	int d[2]={0,0},c;
	cin >> b >>  n[0] >> n[1];
	for (i=0;i<2;i++) {
		k=1;
		for (c=0;n[i][c]!='\0';c++) {}
		for (j=c-1;j>=0;j--){
			if (n[i][j]>='A' && n[i][j]<='F') {
				d[i]+=(n[i][j]-55)*k;
			} else {
				d[i]+=(n[i][j]-'0')*k;
			}
			k*=b;
		}
	}
	int s=d[0]+d[1];
	if (s==0) {
	    cout << 0;
	    return 0;
	}
	vector <int> v;
	while (s>0) {
	    v.push_back(s%b);
	    s/=b;
	}
	reverse(v.begin(),v.end());
	for (i=0;i<v.size();i++) {
		if (v[i]>=10) {
		    cout << (char)(v[i]+55);
		} else {
		    cout << v[i];
		}
	}
	return 0; 
}