📅  最后修改于: 2023-12-03 15:34:12.310000             🧑  作者: Mango
斐波那契数列(Fibonacci sequence)是指:1、1、2、3、5、8、13、21、34、……,在数学上,斐波那契数列以如下被以递归的方法定义:
F(0) = 0
F(1) = 1
F(n) = F(n-1) + F(n-2) (n>=2)
这个序列的特点是:前两个数都是1,从第三个数开始,每个数都是它前面两个数的和。斐波那契数列在现代数学和计算机科学中广泛应用。下面是Python实现斐波那契数列的代码:
def fibonacci(n):
"""
计算斐波那契数列
"""
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
上述代码使用了递归的方式实现了斐波那契数列的计算。其中,递归终止条件是n
小于等于0或者等于1,如果n
大于1就返回前两个数之和。这里需要注意的是,在使用递归的方式计算斐波那契数列时,会存在很多重复计算,因此这种方式的效率并不高。
接下来是非递归的斐波那契数列计算代码:
def fibonacci(n):
"""
计算斐波那契数列
"""
if n <= 0:
return 0
elif n == 1:
return 1
else:
a, b = 0, 1
for _ in range(n-1):
a, b = b, a+b
return b
这种实现方式使用了循环的方式计算斐波那契数列,避免了递归计算中的重复计算问题。其中,斐波那契数列的第一个数是0,第二个数是1,从第三个数开始,每个数都是前两个数之和。
以上就是Python实现斐波那契数列的两种方式,读者可以根据自己的需求选择更合适自己的方式。