递归函数
递归的概念:递归是一种解决问题的有效方法,在递归过程中,函数将自身作为子例程调用。简单说程序调用自身的编程技巧叫递归。
进一步解释:”递“的意思是将问题不断的进行拆分,一个问题拆成子问题,再把子问题进一步拆分,直到拆到微小的问题可以得到解决;”归“的意思就是说微小的问题得到了解决,那么依次往回推,上面的问题就都得到了解决。
递归特点:
- 一个问题可以分解成具有相同解决思路的子问题,子子问题,换句话说这些问题都能调用同一个函数
- 经过层层分解的子问题最后一定是有一个不能再分解的固定值的(即终止条件),如果没有的话,就无穷无尽地分解子问题了,问题显然是无解的
举例:求解,输入一个整数n,输出n!的值,其中n!= 1*2*3...*n,即求阶乘。
递归的写法
1.编写函数体(功能):
确定求解函数的功能是求n