浅谈悲波那契数列

Posted mryang161

tags:

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

悲波那契数列

悲波那契数列的由来

? 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为兔子数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。

解法

通过列表切分

def  sequence(number):
    # 定义一个列表并将第一位和第二位放上
    l=[1,1]
    #循环写入要添加进l的值
    for i in range(number-2):
        #定义一个列表将l中的最后两位放入里面
        arr = l[-2:]
        #将arr中的第一位和第二位相加并放入l列表中
        l.append(arr[0]+arr[1])
    #打印出l列表
    print(l)
#调用函数
sequence(10)

[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

通过递归

count=0
l=[1,1]
def sequence():
    global l,count
    if count>7:
        return
    arr=l[-2:]
    l.append(arr[0] + arr[1])

    count+=1
    print(l)
    sequence()

sequence()

[1, 1, 2]
[1, 1, 2, 3]
[1, 1, 2, 3, 5]
[1, 1, 2, 3, 5, 8]
[1, 1, 2, 3, 5, 8, 13]
[1, 1, 2, 3, 5, 8, 13, 21]
[1, 1, 2, 3, 5, 8, 13, 21, 34]
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

以上是关于浅谈悲波那契数列的主要内容,如果未能解决你的问题,请参考以下文章

你真的懂斐波那契数列吗?Fibonacci四种解法满足你!

动态规划和子结构的浅谈

浅谈矩阵快速幂

08《算法入门教程》递归算法之斐波那契数列

斐波那契数列

介绍下斐波那契数列。