1161:转进制
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 15261 通过数: 10928
【题目描述】
用递归算法将一个十进制数X转换成任意进制数M(M≤16)。
【输入】
一行两个数,第一个十进制数X,第二个为进制M。
【输出】
输出结果。
【输入样例】
31 16 {将十进制31转化为十六进制数}
【输出样例】
1F
代码如下:
#include<bits/stdc++.h>
using namespace std;
int m,x;
void f(int n)
{
if(n>1)f(n/m);
switch(n%m)
{
case 10: cout<<'A';break;
case 11: cout<<'B';break;
case 12: cout<<'C';break;
case 13: cout<<'D';break;
case 14: cout<<'E';break;
case 15: cout<<'F';break;
default: cout<<n%m;break;
}
}
int main()
{
cin>>x>>m;
f(x);
return 0;
}