Submission

Status:

PPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Habibi

Problemset: บวกเลขฐาน

Language: cpp

Time: 0.002 second

Submitted On: 2025-10-13 20:42:16

#include<stdio.h>
#include<string.h>
#include<math.h>
int main(){
	int base;
	scanf("%d",&base);
	char string1[20];
	char string2[20];
	scanf(" %s %s",string1,string2);
	int n1,n2;
	n1=strlen(string1);
	n2=strlen(string2);
//	printf("%d %d\n",n1,n2);
	int num1[20];
	int num2[20];
	for(int i=0;i<n1;i++){
		if(string1[i]>=65&&string2[i]<=90){
			num1[i]=string1[i]-'A'+10;
		}
		else{
			num1[i]=string1[i]-'0';
		}
	}
	for(int i=0;i<n2;i++){
		if(string2[i]>=65&&string2[i]<=90){
			num2[i]=string2[i]-'A'+10;
		}
		else{
			num2[i]=string2[i]-48;
		}
	}
/*	for(int i=0;i<n1;i++){
		printf("%d ",num1[i]);
	}
	printf("\n");
	for(int i=0;i<n2;i++){
		printf("%d ",num2[i]);
	}
	printf("\n");	
*/
	long long sum1=0;
	for(int i=0;i<n1;i++){
		sum1=sum1+num1[i]*pow(base,n1-i-1);
	}
//	printf("%d",sum1);
	long long sum2=0;
	for(int i=0;i<n2;i++){
		sum2=sum2+num2[i]*pow(base,n2-i-1);
	}
//	printf(" %d\n",sum2);
	long long sum=0;
	sum=sum1+sum2;	
	long long r=0;
	int ans[20];
	if(sum==0){
		printf("0");
	}
	else{

		while(sum!=0){
			ans[r]=sum%base;
			sum=sum/base;
			r++;
		}
		for(int i=r-1;i>-1;i--){
			if(ans[i]>9){
				printf("%c",'A'+ans[i]-10);
			}
			else{
				printf("%d",ans[i]);
			}
		}
	}
	return 0;
}