Blogger Information
Blog 75
fans 0
comment 0
visits 55260
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Python实现斐波那契数列
聆听的博客
Original
1463 people have browsed it

斐波那契数列大家都很熟悉吧,咱们在高中学数学的时候,老师会讲这个定律以及算法,其实数据结构和数学息息相关,数学思维好的往往逻辑思维就比较好,今天小猿圈带大家学习一下python的斐波那契数列的实现。

程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……

在数学上,费波那契数列是以递归的方法来定义:

F0 = 0    (n=0)

F1 = 1    (n=1)

Fn = F[n-1]+ F[n-2](n=>2)

程序源代码:

方法一:

实例

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 斐波那契数列

def fib(n):

    a, b = 1, 1

    for i in range(n-1):

        a, b = b, a+b

    return a

# 输出了第10个斐波那契数列

print fib(10)

运行实例 »

点击 "运行实例" 按钮查看在线实例

方法二:

实例

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 斐波那契数列

# 使用递归

def fib(n):

    if n == 1 or n == 2:

        return 1

    return fib(n - 1) + fib(n - 2)

# 输出了第10个斐波那契数列

print fib(10)

以上实例输出了第10个斐波那契数列,结果为:

55

运行实例 »

点击 "运行实例" 按钮查看在线实例

方法三:

如果你需要输出指定个数的斐波那契数列,可以使用以下代码:

实例

#!/usr/bin/python

# -*- coding: UTF-8 -*-

# 斐波那契数列

def fib(n):

    if n == 1:

        return [1]

    if n == 2:

        return [1, 1]

    fibs = [1, 1]

    for i in range(2, n):

        fibs.append(fibs[-1] + fibs[-2])

    return fibs

# 输出前10个斐波那契数列

print fib(10)

以上程序运行输出结果为:

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

运行实例 »

点击 "运行实例" 按钮查看在线实例

大家对斐波那契数列python的实现学会了吧,也是很简单的,代码也是优雅的吧,斐波那契数列用到的地方还蛮多的,大家平时可以多看一下类似于这种算法的结构,让自己的脑子灵光的转起来,只要这样才能有很好的idea,可以去小猿圈了解更多的算法,大家加油!

 

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post