Submission

Status:

xxxxxxxxx

Subtask/Task Score:

0/100

Score: 0

User: fienicl

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.003 second

Submitted On: 2026-09-29 16:58:20

#include <iostream>
#include <cmath>
using namespace std;

int main(){
	int base, len1, len2, dec1 = 0, dec2 = 0,sumd;
	string num1, num2;
	cin >> base >> num1 >> num2;
	len1 = num1.size();
	len2 = num2.size();
	for(int i = 0; i < len1; ++i){
		int power1;
		power1 = pow(base,(len1-i-1));
//		cout << power1 << " ";
		if(num1[i] == 'A'){
			dec1 += 10*power1;
		}
		else if(num1[i] == 'B'){
			dec1 += 11*power1;
		}
		else if(num1[i] == 'C'){
			dec1 += 12*power1;
		}
		else if(num1[i] == 'D'){
			dec1 += 13*power1;
		}
		else if(num1[i] == 'E'){
			dec1 += 14*power1;
		}
		else if(num1[i] == 'F'){
			dec1 += 15*power1;
		}
		else{
			dec1 += (num1[i]-48)*power1;
		}
	}
//	cout << dec1;
	for(int i = 0; i < len2; ++i){
		int power2;
		power2 = pow(base,(len2-i-1));
		if(num2[i] == 'A'){
			dec2 += 10*power2;
		}
		else if(num2[i] == 'B'){
			dec2 += 11*power2;
		}
		else if(num2[i] == 'C'){
			dec2 += 12*power2;
		}
		else if(num2[i] == 'D'){
			dec2 += 13*power2;
		}
		else if(num2[i] == 'E'){
			dec2 += 14*power2;
		}
		else if(num2[i] == 'F'){
			dec2 += 15*power2;
		}
		else{
			dec2 += (num2[i]-48)*power2;
		}
	}
	sumd = dec1+dec2;
//	cout << sumd;
	
	int arr[32];
	char arr2[32];
	int i = 0;
	while(sumd >= 0){
		arr[i] = sumd % base;
//		cout << arr[i] << " ";
		if(arr[i] >= 10){
			arr2[i] = arr[i] + 55;
		}
		else{
//			cout << arr[i]+48;
			arr2[i] = arr[i] + 48;
//			cout << arr2[i];
		}
		sumd/=base;
		++i;
//		cout << sumd << " ";
	}
	for(int a = i; a > 0; --a){
		cout << arr2[a];
	}
}