实现Python函数以递归方式计算斐波那契数列
发布时间:2023-06-24 00:15:53
斐波那契数列是一个非常有趣的数列,其定义如下:
F(0) = 0, F(1) = 1,
F(n) = F(n-1) + F(n-2) (n>=2)
也就是说,斐波那契数列从第三项开始,每项等于前两项的和。其中 F(0) 和 F(1) 分别为数列的 项和第二项。
在这个数列中,前若干项的值为:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610…
接下来,我们来实现一个 Python 函数,以递归方式计算斐波那契数列。
实现方法
在 Python 中,我们可以使用递归函数来计算斐波那契数列。具体来说,我们可以按照以下步骤实现该函数:
定义一个函数,其参数为一个正整数 n,该参数表示所求斐波那契数列的第 n 项。
如果 n=0 或 n=1,则该函数返回 n。
否则,该函数返回斐波那契数列的第 n 项,即 F(n) = F(n-1) + F(n-2)。
于是,我们可以在 Python 中实现上述算法,代码如下:
def fib(n):
if n<=1:
return n
else:
return fib(n-1) + fib(n-2)
这个函数可以通过调用 fib(n) 来计算斐波那契数列的第 n 项。下面我们来看一个例子:
print(fib(6)) # 输出 8
在这个例子中,我们传递参数 n=6 给函数 fib,其返回值为 8。这是因为,斐波那契数列的第 6 项的值为 8。
不过,这个算法的效率非常低下,因为当 n 较大时,函数 fib 会被大量重复调用,从而造成重复计算。因此,如果需要计算较大的斐波那契数列,建议使用其他更高效的算法来实现。
