函数内部调用自己本身,这个函数就是递归函数。
递归一般是用来解决一些复杂的数学问题,比如,斐波那契数列。
举个简单的例子,计算阶乘 n! = n * (n - 1)!
def factorial(n):
if n == 1:
return 1
return n * factorial(n-1)
这个就是一个简单得递归调用得例子,下面我们看一下显示结果。
>>> factorial(5)
120
>>> factorial(20)
2432902008176640000
下面我们来探讨一下函数得计算过程,我们倒着往前推:
5 *4 *3 *2
4 *3 *2
3 *2
2 1
首先它会计算最底层得结果,也就是1,此时factorial(n-1)=1,然后返回21得结果,此时factorial(n-1)=2,以此类推...
这个就是递归得简单应用。
网友评论