1161.转进制(递归)
题目描述
用递归算法将一个十进制数X转换成任意进制数M(M≤16)。
输入
一行两个数,第一个十进制数X,第二个为进制M。
输出
输出结果。
样例
输入数据 1
31 16 {将十进制31转化为十六进制数}
输出数据 1
1F
转换进制的方法:短除法,将从上到下每次短除结果的余数 按从下到上的顺序写出
可能的错误:
打印的数字 顺序颠倒
10-->16进制转换时 判断余数是否需要转换成字符ABCDEF时 判断条件错误
#include <iostream>
using namespace std;
void gcdl(int m, int n)
{if (m / n)gcdl(m / n, n);if (m%n>=10)cout << char((m % n)+55);elsecout << m % n;
}
int main()
{int x = 0, m = 0;cin >> x >> m;gcdl(x, m);return 0;
}