#include <iostream>
using namespace std;
void Conversion(int num, int B)
{
const char arr[] = "0123456789ABCDEF";
if(num <= 0) return;
Conversion(num/B,B);
cout<<arr[num % B];
}
int main()
{
int number,target;
cout<<"依此输入要转化的目标数和转换的进制:";
cin>>number>>target;
Conversion(number,target);
return 0;
}
arr数组里面存在求余之后能出现的所有余数,将十进制转化为target进制 传入到Conversion函数,利用num/B一直循环商不为零时,当num = 0时候,则递归结束,函数开始回退 正好将余数反过来输出,刚好是目标进制数,其余进制之间的转化也可也借助十进制为桥梁进行转换.