输入一个正整数,然后把该整数的每一位数字从高位到低位顺序输出,每个数字占一行。
例如:输入:123
,程序输出:
1.1
2.2
3.3
- 对于将一个整数各位数字拆开的问题,由于该数字的位数未知,采用取余的方式也只能获得最低位,最高位很难获取。而这里要求先输出最高位,所以不能用循环实现。递归函数可以很好的解决这个问题。
递归函数
- 直接调用自己或通过其它函数间接调用自己的函数称为递归函数。
- 递归函数适合于求解递归问题,所谓递归问题:是指一类比较复杂的问题,其问题的解决又依赖于类似问题的解决,只不过后者的复杂程度或规模较原来的问题更小,而且一旦将问题的复杂程度和规模化简到足够小时,问题的解法其实非常简单。
例如,计算某个自然数 n 的阶乘的公式写为:n!=n×(n−1)×(n−2)×…×2×1 这种阶乘的计算用如下循环结构来实现:
int factorial = 1;
for (int counter = 1; counter <= n; counter++)
{
factorial = factorial * counter;
}