斐波那契数列是一个序列,每个数字是前两个数字之和,起始数字一般是0和1。
可以通过两种不同的方法来实现斐波那契数列:
1.使用递归: 递归是一种将问题分解为更小的子问题的方法。斐波那契数列的递归实现会导致重复计算,效率较低。
def fibonacci_recursive(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2)
# 输出前20个斐波那契数列数字
for i in range(20):
print(fibonacci_recursive(i))
2.使用迭代: 迭代是通过循环来逐步计算问题的方法,相对于递归而言,效率更高。
def fibonacci_iterative(n):
if n <= 0:
return 0
elif n == 1:
return 1
fib_prev, fib_current = 0, 1
for _ in range(2, n + 1):
fib_prev, fib_current = fib_current, fib_prev + fib_current
return fib_current
# 输出前20个斐波那契数列数字
for i in range(20):
print(fibonacci_iterative(i))