首页 > 其他 > 详细

斐波那契数列

时间:2018-11-30 11:09:44      阅读:184      评论:0      收藏:0      [点我收藏+]
1.菲波那切数列指 0 1 1 2 3 5 8 13 21 34...等,除了前两项,每一项的值都是前两项的和。
实现方式:第一种

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

第二种:

count = 0
import time
def feibo2(n):
    if n == 1:
        return 0
    if n == 2:
        return 1
    global count
    print(count)
    time.sleep(1)
    count += 1

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

第一种循环实现轻松计算到你可以想象到的N位
第二种递归实现,这个递归深度可以自己测一下,代码中定义了一个全局变量统计这个函数调用的次数。我测随手输入51时,半天没停下来,就关闭了。想考验电脑性能的可以去掉上面的sleep方法,你会有惊喜的。总之:工作中,能不用递归就不用递归。

斐波那契数列

原文:http://blog.51cto.com/14094286/2324025

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!