Submission
Status:
PPPPPPP-P
Subtask/Task Score:
96/100
Score: 96
User: uraniumconsumer
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.004 second
Submitted On: 2026-10-03 14:58:15
#include <bits/stdc++.h>
using namespace std;
int main(){
int base;
cin >> base;
string num1;
cin >> num1;
string num2;
cin >> num2;
int num1base = 0;
int num2base = 0;
string hexchar = "ABCDEF";
for(int i = 0; i < num1.length(); i++){
int num3 = num1[i] - '0';
for(int j = 0; j < hexchar.length(); j++){
if(num1[i] == hexchar[j]){
num3 = 10 + j;
}
}
num1base += num3 * pow(base, num1.length()- i - 1);
}
for(int i = 0; i < num2.length(); i++){
int num3 = num2[i] - '0';
for(int j = 0; j < hexchar.length(); j++){
if(num2[i] == hexchar[j]){
num3 = 10 + j;
}
}
num2base += num3 * pow(base, num2.length()- i - 1);
}
int sum = num1base + num2base;
string finalsum = "";
while(sum > 0){
if(sum%base >= 10){
finalsum = hexchar[sum%base - 10] + finalsum;
sum = sum/base;
}
else{
string rem = to_string(sum%base);
finalsum = rem + finalsum;
sum = sum/base;
}
}
cout << finalsum;
// 100 % 16 = 6 r. 4
// 6 % 16 = 0 r. 6
// 64
// for(int i = 0; i < num1.length(); i++){
// num1base += (num1[i] - '0') * (pow(base, num1.length() - i - 1));
// }
// for(int j = 0; j < num2.length(); j++){
// num2base += (num2[j] - '0') * (pow(base, num2.length() - j - 1));
// }
}