输入模板:
输入的进制 内容 转换的进制
#include<bits/stdc++.h>
using namespace std;
int b[10001],n,m;
char a[100001],w[27] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int main(){
cin>>n>>a>>m;
int len = strlen(a);
if(a[0] == '0' && len == 1){
cout<<0<<endl;
return 0;
}
for(int i = 0;i < len;i++){
if(a[i] >= 'a' && a[i] <= 'z'){
a[i] = a[i] - 32;
}
if(a[i] >= '0' && a[i] <= '9'){
b[i] = a[i] - 48;
}else if(a[i] >= 'A' && a[i] <= 'Z'){
b[i] = a[i] - 55;
}
}
int cnt = 0,ans = 0;
for(int i = len - 1;i >= 0;i--){
ans = ans + b[i] * (pow(n,cnt));
cnt++;
}
int cnt1 = 1,r;
while(ans != 0){
r = ans % m;
b[cnt1++] = r;
ans = ans / m;
}
for(int i = cnt1 - 1;i >= 1;i--){
if(b[i] < 10){
cout<<b[i];
}else{
int k = b[i] - (-(m - 16) + 10);
cout<<w[k];
}
}
return 0;
}