#include<bits/stdc++.h>
using namespace std;
long long mpow(long long a,long long b)
{
long long ans=1;
if(b==0)
return 1;
while(b){
ans=ans*a;
b--;
}
return ans;
}
long long fun(long long A[],long long t,int b)
{
long long i=0;
while(t){
A[i++]=t%b;
t/=b;
}
return i;
}
long long Decimal(char s[],int b)
{
long long len=strlen(s);
long long v=0;
for(long long i=0;i<len;i++){
if(s[i]>='0'&&s[i]<='9')
v+=(s[i]-'0')*mpow(b,len-1-i);
else{
if(s[i]=='A') v+=10*mpow(b,len-1-i);
if(s[i]=='B') v+=11*mpow(b,len-1-i);
if(s[i]=='C') v+=12*mpow(b,len-1-i);
if(s[i]=='D') v+=13*mpow(b,len-1-i);
if(s[i]=='E') v+=14*mpow(b,len-1-i);
if(s[i]=='F') v+=15*mpow(b,len-1-i);
}
}
return v;
}
int main()
{
long long b,g,h1,h2,sum;
char s1[200],s2[200];
while(scanf("%lld%s%s",&b,s1,s2)!=EOF)
{
char s[200];
long long A[200];
h1=Decimal(s1,b),h2=Decimal(s2,b);
sum=h1+h2;
g=fun(A,sum,b);
for(long long i=0;i<g;i++){
if(A[i]<10)
s[g-1-i]=A[i]+48;
else{
if(A[i]==10) s[g-1-i]='A';
if(A[i]==11) s[g-1-i]='B';
if(A[i]==12) s[g-1-i]='C';
if(A[i]==13) s[g-1-i]='D';
if(A[i]==14) s[g-1-i]='E';
if(A[i]==15) s[g-1-i]='F';
}
}
s[g]='\0';
puts(s);
}
return 0;
}
xdoj-1003
最新推荐文章于 2021-12-18 23:20:01 发布