【题目描述】
用递归算法将一个十进制数X转换成任意进制数M(M≤16)。
【输入】
一行两个数,第一个十进制数X,第二个为进制M。
【输出】
输出结果。
【输入样例】
31 16 {将十进制31转化为十六进制数}
【输出样例】
1F
#include<iostream>
#include<cmath>
using namespace std;
char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int n,m;
void f(int x,int m)
{
if(x/m==0)
{
cout<<num[x%m];
//return;
}
else
{
f(x/m,m);
cout<<num[x%m];
}
}
int main()
{
cin>>n>>m;
f(n,m);
cout<<endl;
return 0;
}
搞了好久 是因为把进制想错了 笑了