如果有錯請評論指出;參考:https://blog.csdn.net/langmanqishizaijia/article/details/51087443
#include<iostream>
#include<bitset>
#include<string>
using namespace std;
//in,是輸入進來的數
//out是輸出的字
//begin表示輸入進制
//end表示輸出的進制
void change(string in,string &out, long begin,long end){
//首先轉化成十進制;
int sum = 0;
for (int i = 0; i < in.length;i++){
long t = in[i];
if (t>=0 && t<=9){
sum = t + sum*begin;
}
else sum = (t - 'A' + 10) + sum*begin;
}
//十進制轉成end進制
out = "";
while (1){
long j = sum%end;
sum /= end;
if (j <= 9) out = to_string(j) + out;
else out = to_string(j - 10 + 'A' ) + out;
if (num == 0)break;
}
cout << sum;
}
int main(){
/*進制輸出
int i;
cin >> i;
cout << std::hex << i<<endl;
cout << std::oct << i << endl;
cout << std::dec << i << endl;
cout << bitset<8>(i) << endl;
*/
string in,out;
long begin, end;
while (cin >> in >> begin>>end){
change(in, out, begin, end);
cout << out;
}
return 0;
}