进制转换(数学专题3)模板代码
2025-01-11 20:36:25
发布于:北京
#include<bits/stdc++.h>
using namespace std;
long long ch(char a) {
if (a >= '0' && a <= '9')
return a - '0';
return a - 'A' + 10;
}
//p 转 10 进制
long long _p_10(int p, string n) {
long long sum = 0, power = 1;
for (int i = n.size() - 1; i >= 0; i--) {
sum += ch(n[i]) * power;
power *= p;
}
return sum;
}
//10 转 q 进制
string chs = "0123456789ABCDEF";
string _10_q(long long n, long long q) {
string s = "";
do {
s = chs[n % q] + s;
n /= q;
} while (n);
return s;
}
int main() {
int n, q;
cin >> n >> q;
cout << _10_q(n, q);
return 0;
}
全部评论 1
2025-01-11 来自 浙江
0
有帮助,赞一个