代码如下:
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
int main(){
string a,b;
long long n,m,sum=0,ans[100]={};
cin>>n;
if(n!=10){
cin>>a>>m;
if(n==m){
cout<<a;
return 0;
}
int l=a.size();
for(int i=l-1;i>=0;i--){
int t=1;
if(a[i]>='0'&&a[i]<='9'){
t=a[i]-'0';
}else if(a[i]>='A'&&a[i]<='F'){
t=a[i]-'A'+10;
}
if(i!=0){
for(int j=1;j<=i;j++){
t=t*n;
}
}
sum+=t;
}
}else{
cin>>sum>>m;
}
if(m==10){
cout<<sum;
return 0;
}
int c=1;
while(sum!=0){
if(sum%m==1){
ans[c]=1;
}else{
ans[c]=sum%m;
}
sum/=m;
c++;
}
for(int i=c-1;i>=1;i--){
if(ans[i]>10){
printf("%c",'A'+ans[i]-10);
}else{
cout<<ans[i];
}
}
return 0;
}