Submission

Status:

PPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Catpao

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.002 second

Submitted On: 2025-11-03 21:36:08

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int base,sum,sum_mod = 0,sumd = 0,b,c;
	cin>>base;
	string s1,s2;
	cin>>s1;
	cin>>s2;
	int n1 = s1.size(),n2 = s2.size();
	if(n1 < n2){
		for(int i=0;i<(n2 - n1);i++){
			s1 = "0" + s1;
		}
	}
	else if(n2 < n1){
		for(int i=0;i<(n1-n2);i++){
			s2 = "0" + s2;
		}
	}
	n1 = s1.size();
	vector<int> a;
	for(int i=n1-1;i>=0;i--){
		b = s1[i];
		c = s2[i];
		if(b >= 65){
			b = b - 55;
		}
		else{
			b = b - '0';
		}
		if(c >= 65){
			c = c - 55;
		}
		else{
			c = c - '0';
		}
		sum = b + c + sumd;
		if(sum >= base){
			sum_mod = sum%base;
			sumd = sum/base;
			sum = sum_mod;
		}
		else{
			sumd = 0;
		}
		a.push_back(sum);
	}
	if(sumd != 0){
		a.push_back(sumd);
	}
	for(int i=a.size()-1;i>=0;i--){
		if(a[i] >= 10){
			cout<<char(a[i] + 55);
		}
		else{
			cout<<a[i];
		}
	}
}