【题目描述】
用递归算法将一个十进制数X转换成任意进制数M(M≤16)。
【输入】
一行两个数,第一个十进制数X,第二个为进制M。
【输出】
输出结果。
【输入样例】
31 16 {将十进制31转化为十六进制数}
【输出样例】
1F
AC代码:
#include<iostream>
using namespace std;
char s[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
void f(int n, int d){
int temp;
temp = n % d;
n /= d;
if(n != 0){
f(n, d);
}
cout << s[temp];
}
int main(){
int n, d;
cin >> n >> d;
f(n, d);
return 0;
}
注意点:
- 这道题很好体现了递归的顺序;