#include <stdio.h>
void A(int num, int base)
{
if (num > 0)
{
A(num / base, base);
printf("%d", num % base);
}
}
//103 2 -1
//51 2 -1
//25 2 -1
//12 2 -0
//6 2 -0
//3 2 -1
//1 2 -1
//0.5 2
int main()
{
A(103, 2);
return 0;
}
这是一个递归问题。因为是函数的参数是int类型,到最后0.5的时候,if的条件就不满足了。从下往上打印,就是答案里的1100111
递归调用,把数num
转化以base
为基的进制数输出。