题目描述
用递归算法将一个十进制数x转换成任意进制数M(M<=16)。
输入
一行两个数,第一个十进制数X,第二个为进制M。
输出
输出结果。
输入样例
31 16{将十进制31转化为16进制数}
输出样例
1F
解析:递归算法,上code!
不准直接抄!!!
#include <iostream>
using namespace std;
void cal(int n, int k)
{
char num[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' };
int t;
t = n % k;
n /= k;
if (n != 0)//判断是否到达边界
cal(n, k);
cout << num[t];
}
int main() {
int x, m;
cin >> x >> m;//输入十进制数x与要转换成的进制m
cal(x, m);//调用函数进行转换
return 0;
}
Ladies and gentlemen,作者制作不易,喜欢就点个赞吧!