Submission
Status:
PPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: porpeang
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.004 second
Submitted On: 2026-10-02 21:51:55
#include <bits/stdc++.h>
using namespace std;
int main(){
int Base=0;
string Num1,Num2,p,o;
int a=0,b=0,c=0,num1=0,num2=0,tod=0,Num=0;
cin>>Base;
cin>>Num1;
cin>>Num2;
vector<int>ve;
while(Num1.size() < Num2.size()) Num1 = "0" + Num1;
while(Num2.size() < Num1.size()) Num2 = "0" + Num2;
if(num1<num2){
p=Num1;
o=Num2;
Num1=o;
Num2=p;
}
for(int i = Num1.size() - 1; i >= 0; i--){
int val1 = (Num1[i] >= 'A') ? (Num1[i] - 'A' + 10) : (Num1[i] - '0');
int val2 = (Num2[i] >= 'A') ? (Num2[i] - 'A' + 10) : (Num2[i] - '0');
int sum_val = val1 + val2 + tod;
if(sum_val < Base){
ve.push_back(sum_val);
tod=0;
}
else{
ve.push_back(sum_val - Base);
tod=1;
}
}
if(tod > 0) ve.push_back(tod);
reverse(ve.begin(),ve.end());
for(auto e:ve)if (e >= 10) cout << (char)(e - 10 + 'A');
else cout << e;
}