Submission
Status:
PPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: asdasd
Problemset: บวกเลขฐาน
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-12 18:44:15
#include <stdio.h>
#include <string.h>
#include <math.h>
int main(){
int base;
char num1[100];
char num2[100];
scanf("%d %s %s",&base,num1,num2);
int tenbase1=0;
int tenbase2=0;
for(int i = 0 ; i<strlen(num1) ; i++){
if(num1[i]>='0'&&num1[i]<='9'){
tenbase1 += (num1[i]-'0')*pow(base,strlen(num1)-1-i);
}
else{
tenbase1 += (num1[i]-55)*pow(base,strlen(num1)-1-i);
}
}
for(int i = 0 ; i<strlen(num2) ; i++){
if(num2[i]>='0'&&num2[i]<='9'){
tenbase2 += (num2[i]-'0')*pow(base,strlen(num2)-1-i);
}
else{
tenbase2 += (num2[i]-55)*pow(base,strlen(num2)-1-i);
}
}
int sum = tenbase1 + tenbase2;
int finalsum[100];
int pos = 0;
if(sum==0){
printf("0");
return 0;
}
for(int i = sum ; i>0 ; i=i/base){
finalsum[pos]=i%base;
pos++;
}
for(int i = pos-1 ; i>=0 ; i--){
if(finalsum[i]<=9){
printf("%d",finalsum[i]);
}
else{
printf("%c",'A'+finalsum[i]-10);
}
}
}