题解
2025-08-12 14:58:56
发布于:浙江
0阅读
0回复
0点赞
洛谷传送门
话不多说直接看向我,看懂我了,就行了!
上代码!
#include<bits/stdc++.h>
using namespace std;
void ZS_D_n(int q, int s){ //十进制转N进制(整数)
vector<char> ve;
do {
if(q > 10 && s % q > 9){
ve.push_back('A' + s % q - 10);
} else {
ve.push_back(s % q + '0');
}
s /= q;
} while(s);
reverse(ve.begin(),ve.end()); //反转数组
for(int i = 0;i < ve.size();i++){
cout << ve[i];
}
return ;
}
int ZS_n_D(int q,string s){ // N进制转十进制(整数)
vector<int> ve;
for(int i = 0;i < s.size();i++){
if(s[i] >= '0' && s[i] <= '9') ve.push_back(s[i] - '0');
else ve.push_back(s[i] - 55);
}
reverse(ve.begin(),ve.end()); //反转数组
int ans = 0,power = 0;
for(int i = 0;i < ve.size();i++){
ans += ve[i] * pow(q,power);
power++;
}
return ans;
}
int main(){
int q1,q2;
string s;
cin >> q1 >> s >> q2;
ZS_D_n(q2,ZS_n_D(q1,s));
return 0;
}
这里空空如也
有帮助,赞一个