递归函数:递归函数是直接或间接地调用了自身的函数。
利用递归算法可以将一个规模较大的问题转化为规模较小的同类问题来求解。
上述问题用数学公式可以这样表示:
递归函数应该具有两个特征:
(1)定义中包含该函数本身(即递归公式)(比如上式中f(n-1))
(2)必须有终止条件 (比如上述中当n>0时函数值等于1)
递归调用过程分为两个阶段----递推和回归
举个例子:利用递归函数计算5!
递推过程为:
回归过程为:
编程实现:计算n!的递归函数
递归的调用过程为(下面是递推阶段):
下面是回归阶段: