一、递归函数
已知: 函数可以调用函数。结论: 一个函数在内部调用自己本身,这个函数就是递归函数。
(1)计算阶乘 factorial: n! = 1 * 2 * 3 * … * n
def factorial(num):
"""
0! = 1
1! = 1
2! = 2 * 1 = 2 * 1!
3! = 3*2*1 = 3*2!
4! = 4*3*2*1 = 4*3!
....
n! = n * n-1 *n-2 .....1 = n * (n-1)!
求num的阶乘
"""
result = 1
for item in range(1, num + 1):
result = result * item
return result
def recursive_factorial(num):
"""
使用递归求num的阶乘
"""
# 如果num等于0或者1, 返回1;
if num in (0, 1):
return 1
# num的阶乘为num*(num-1)!
else:
return num * recursive_factorial(num - 1)
print("3的阶乘: ", factorial(3))
print("6的阶乘: ", factorial(6))
print("3的阶乘: ", recursive_factorial(3))
print("6的阶乘: ", recursive_factorial(6))
print("998的阶乘: ", recursive_factorial(998)) ##最大递