Submission
Status:
PPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Bunkoblong
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-03 17:01:34
#include<iostream>
#include<string>
#include<math.h>
using namespace std;
int main(){
int B;
string Base1;
string Base2;
char res[100];
char ref[]="0123456789ABCDEF";
int dec1=0;
int dec2=0;
int sum;
int i=0;
cin>>B>>Base1>>Base2;
if(Base1=="0"&&Base2=="0"){
cout<<0;
}
int n1=Base1.size();
int n2=Base2.size();
for(int i=0;i<n1;i++){
for(int j=0;j<16;j++){
if(Base1[i]==ref[j]){
dec1+=j*pow(B,n1-i-1);
}
}
}
for(int i=0;i<n2;i++){
for(int j=0;j<16;j++){
if(Base2[i]==ref[j]){
dec2+=j*pow(B,n2-i-1);
}
}
}
sum=dec1+dec2;
while(sum>0){
int a=sum%B;
if(a<10){
res[i++]=a+'0';
}else{
res[i++]=a-10+'A';
}
sum/=B;
}
for(int j=i-1;j>=0;j--){
cout<<res[j];
}
}