递归函数 [rɪ'kɜːʃ(ə)n]recursion
如果一个函数在内部调用了自身,这个函数就被称为递归函数。
典型的高斯求和问题,1+2+3+4+…+99+100
def sum_number(n):
total = 0
for i in range(1, n+1):
total += i
return total
sum_number(100)
但如果使用递归函数来写,是这样的:
def sum_number(n):
if n <= 0:
return 0
return n + sum_number(n-1)
sum_number(100)
s = sum_number
s(n) = n+s(n-1) = … = n+(n-1)+...+1+s(0)
例子,我们来计算阶乘 n! = 1 x