📅  最后修改于: 2023-12-03 14:55:03.503000             🧑  作者: Mango
斐波那契数列是指这样一个数列:0、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,n∈N*)。
def fibonacci(n):
"""
计算斐波那契数列第 n 个数
"""
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
以上代码定义了一个名为 fibonacci
的函数。这个函数的参数为一个正整数 n
,返回值为斐波那契数列中第 n
个数。
这个函数的实现基于斐波那契数列的递推公式,利用递归实现。当 n
的值小于等于 0 时,返回 0;当 n
的值等于 1 时,返回 1;否则,返回前两个斐波那契数列之和。
值得注意的是,这个函数的时间复杂度为 O(2^n),因此只适用于简单的计算。当需要计算大量斐波那契数时,应使用其他算法,例如时间复杂度为 O(n) 的迭代算法。
n = 10
print("斐波那契数列第 %d 个数为 %d" % (n, fibonacci(n)))
输出结果为:
斐波那契数列第 10 个数为 55
以上是斐波那契数列的 Python 实现。虽然递归算法非常简单,但其复杂度过高,不建议用于计算大量斐波那契数。在实际应用中,应选择适合的算法来进行计算。