1. 阶乘计算
阶乘是一个常见的递归应用,定义为n! = n * (n-1) * ... * 1。
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
print(factorial(5)) # 输出: 120
2. 斐波那契数列
斐波那契数列的每一项都是前两项的和。
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n - 1) + fibonacci(n - 2)
print(fibonacci(10)) # 输出: 55
3. 汉诺塔问题
汉诺塔是一个经典的递归问题,涉及将多个盘子从一个柱子移动到另一个柱子。
def hanoi(n, source, target, auxiliary):
if n > 0:
hanoi(n - 1, source, auxiliary, target)
&