题解
2025-09-27 21:53:27
发布于:上海
5阅读
0回复
0点赞
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int n;
string s;
int r;
int pow(int a,int p){
int res=1;
for(int i=1;i<=p;i++) res*=a;
return res;
}
string tttn(int r,int n){
string res="";
int x=0,y=n;
while(y!=0){
x=y%r;
if(x<10) res+=(char)(x+'0');
else res+=(char)(x+'A'-10);
y/=r;
}
reverse(res.begin(),res.end());
return res;
}
int tntt(int r,string s){
int len=s.size(),res=0;
for(int i=len-1;i>=0;i--){
if(s[i]>='1'&&s[i]<='9'){
res+=(int)(s[i]-'0')*pow(r,len-i-1);
}
else if(s[i]>='A'&&s[i]<='Z'){
res+=(int)(s[i]-'A'+10)*pow(r,len-i-1);
}
}
return res;
}
int main(){
cin>>n>>s>>r;
cout<<tttn(r,tntt(n,s));
}
这里空空如也






有帮助,赞一个