# 函数的递归调用
# 1. 收敛条件 - 让递归在有限的次数完成或者进行回溯
# 如果递归无法在有限次数收敛就有可能导致RecursionError
# 2. 递归公式
#求1-100递归求和
def recursive_sum(num):
if num == 1:
return 1
return num + recursive_sum(num - 1)
#10级台阶,每次可以走1-3级,请问走完10级台阶有几种走法
def walk(n):
if n < 0:
return 0
elif n == 0:
return 1
return walk(n - 1) + walk(n - 2) + walk(n - 3)
#汉诺塔
def hanoi(n, a, b, c):
if n > 0:
hanoi(n - 1, a, c, b)
print(a,'----->', b)
hanoi(n - 1, c, b, a)
if __name__ == '__main__':
print(recursive_sum(100))
print(walk(10))
hanoi(10, 'a', 'b', 'c')
函数递归经典案例
最新推荐文章于 2023-08-16 10:33:20 发布