【题目描述】
用递归算法将一个十进制数X转换成任意进制数M(M≤16)。
【输入】
一行两个数,第一个十进制数X,第二个为进制M。
【输出】
输出结果。
【输入样例】
31 16 {将十进制31转化为十六进制数}
【输出样例】
1F
#include <iostream>
using namespace std;
void toBase(int n, int b)//将数值n转换为b进制输出
{
if(n == 0)//如果n是0,不输出
return;
toBase(n / b, b);//将n/b的值转为b进制输出
if(n % b >= 10)//将n%b的值以b进制输出
cout << char(n % b - 10 + 'A');
else
cout << n % b;
}
int main()
{
int n, b;
cin >> n >> b;
toBase(n, b);
return 0;
}