集训营的题解
2025-08-20 11:35:05
发布于:浙江
2阅读
0回复
0点赞
#include<iostream>
#include<map>
#include<math.h>
#include<algorithm>
using namespace std;
map<int,char> mp;
void init(){
for (char i='0';i<='9';i++) mp[i-'0']=i;
for (char i='A';i<='Z';i++) mp[i-55]=i;
}
string binaryToDecimal(const string& binary) {
long long decimal = 0;
int length = binary.length();
for (int i = 0; i < length; i++) {
int power = length - 1 - i;
decimal += (binary[i] - '0') * pow(2, power);
}
return to_string(decimal);
}
string tenq(int n,int q) {
string s;
do{
int r=n%q;
n/=q;
s+=mp[r];
}while(n);
reverse(s.begin(),s.end());
return s;
}
int main(){
init();
string bin;
int x;
cin>>bin>>x;
string dec=binaryToDecimal(bin);
cout<<tenq(stoll(dec),x);
return 0;
}
这里空空如也
有帮助,赞一个