fibnacci 数列递归实现

发布时间:2022-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了fibnacci 数列递归实现脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

fibnacci 数列递归实现

什么是fibnacci数列?

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo 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 ≥ 2,n ∈ N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从 1963 年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

斐波那契数列指的是这样一个数列:

fibnacci 数列递归实现

这个数列从第3项开始,每一项都等于前两项之和。

它的递归表达式

Fibonacci数列:

F(1)=1

F(2)=1

F(n)=F(n-1)+F(n-2) (n>2)

递归表达式

def fib(n):  

    return 1 and n <= 2 or fib(n - 1) +fib(n - 2)
PRint('n 最终结果为 %d'%(fib(n))) 

and

def fib(n):
    a,b=1,1
    for i in range(n):
        a,b=b,a+b
    return a

print(fib(10))
    
print(fib(100))

print(fib(1000))

print(fib(10000))

and

# Filename : test.py
# author by : www.runoob.COM
 
def recur_fibo(n):
   """递归函数
   输出斐波那契数列"""
   if n <= 1:
       return n
   else:
       return(recur_fibo(n-1) + recur_fibo(n-2))
 
 
# 获取用户输入
nterms = int(input("您要输出几项? "))
 
# 检查输入的数字是否正确
if nterms <= 0:
   print("输入正数")
else:
   print("斐波那契数列:")
   for i in range(nterms):
       print(recur_fibo(i))

用python或scratch递归实现Fib(n),并进行测试,在你的计算机上1分钟内能计算出fib(10),fib(100),fib(1000),fib(10000)吗?

用这种不到5秒全出来了

fibnacci 数列递归实现

用这种上来就卡住了

fibnacci 数列递归实现

最后一种最慢,算第三十项还行,第四十项就算不出来了

fibnacci 数列递归实现

脚本宝典总结

以上是脚本宝典为你收集整理的fibnacci 数列递归实现全部内容,希望文章能够帮你解决fibnacci 数列递归实现所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。