递归定义
在计算机科学中,程序调用自身的方法称为递归,它通常可以把一个大型复杂的问题层层转化为一个与原问题相似但规模较小的问题来求解.
递归在函数里直接或者间接调用自身,但规模在减小.
有一个明确的递归终结条件.
阶乘
def fac(n):
if n == 0:
#这里是终结条件
return 1
else:
#问题规模减小
return n * fac(n - 1)
斐波纳契数列
定义:
F(0)=0
F(1)=1
F(n)=F(n−1)+F(n−2)
代码:
def F(n):
if (n == 0) or (n == 1):
#这里是终结条件
return n
else:
#问题规模减小
return F(n - 1) + F(n - 2)