C语言版本
通过修改数组arr的内容可以确定转换的最大值。
#include<stdio.h>
void change(int a, int b, char arr[])
{
if (a / b == 0)
printf("%c", arr[a % b]);
else
{
change(a / b, b, arr);
printf("%c", arr[a % b]);
}
}
int main()
{
int n, m;
char arr[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' };
printf("请输入原始数据:");
scanf("%d", &n);
printf("请输入要转化的进制:");
scanf("%d", &m);
printf("结果是:");
change(n, m, arr);//进制转换
return 0;
}