斐波那契数列递归实现

Posted wxl2761407387

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了斐波那契数列递归实现相关的知识,希望对你有一定的参考价值。

斐波那契数列的说明
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列: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 ≥ 3,n ∈ N*)

用python实现斐波那契数列的递归
代码:
def fib(x):

if x == 1:
    return 0

if x == 2:
    return 1

if x>2:
    return fib(x-1)+fib(x-2)

print(fib(x))

测试:技术图片

测试的结果是fib(100)就已经要不止十分钟了,更不用说fib(1000),fib(10000),通过询问得知是因为在递归模式下,每一次的结果都需要从头运算,当导致fib(100)时的计算量就非常大了。于是用了一下循环来实现,就快多了,一分钟绰绰有余。

技术图片





以上是关于斐波那契数列递归实现的主要内容,如果未能解决你的问题,请参考以下文章

递归优化的斐波那契数列

编写一递归函数求斐波那契数列的前40项

编程实践Linux Shell 编程:使用 循环和递归 实现斐波那契数列代码

斐波那契数列递归实现

类似斐波那契数列的递归

C语言用递推和递归两种算法完成斐波那契数列的计算,给一下代码