tj-6
2024-06-03 07:18:35
发布于:浙江
49阅读
0回复
0点赞
先转十进制,再转x进制。
#include <bits/stdc++.h>
using namespace std;
string Ret="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int s,n;
string nn;
int q;
long long Pow(int a,int b){//由于结果可能是long long,所以
long long sum=1;
for (int i=0;i<b;++i){
sum*=a;
}
return sum;
}
void di(int x){
int cnt,x1;
if (x==0){
return;
}else{
x1=x/q;
di(x1);
cout<<Ret[x%q];
}
}
int main(){
cin>>nn>>q;
for (int i=nn.size()-1;i>=0;--i){
int num;
if (nn[i]>='A' && nn[i]<='Z'){
num=(nn[i]-'A')+10;
}else{
num=(nn[i]-'0');
}
n+=num*Pow(2,nn.size()-i-1);
}
if (n==0){
cout<<0<<endl;
}
di(n);
}
这里空空如也
有帮助,赞一个