这里使用递归的解法解决这个问题。代码如下:
/*
*change ten number to any number by using digui
*/
#include <iostream>
using namespace std;
void change(int number, int base)
{
if(number > 0)
{
change(number / base, base);
cout<<number % base;
}
}
int main()
{
change(19, 2);
return 0;
}
这里有以下说明:
1.递归函数截止的条件是number=0;其他的都会引发递归行为,这点在分析和使用递归算法解决问题时都要引起注意的;
2./ 运算用到了隐式数据类型转换;
3./ 和%运算符是拆解一个数的最佳拍当;