十进制转其他进制
#include <bits/stdc++.h>
using namespace std;
string digits="0123456789ABCDEF";
void solve(unsigned long long x,int base) {
if(x>=(unsigned)base) solve(x/base,base);
cout << digits[x%base];
}
int main() {
unsigned long long x; int base; cin >> x >> base;
if(base<2 || base>16) return 1;
solve(x,base); cout << '\n';
}
其他进制转十进制
#include <bits/stdc++.h>
using namespace std;
int n, m;
string es = "0123456789ABCDEF";
int main()
{
cin >> n >> m;
string s;
cin >> s;
int ans = 0;
for (int i = 0; i < n; i++)
{
ans *= m;
ans += es.find(s[i]);
}
cout << ans << '\n';
return 0;
}