码迷,mamicode.com
首页 > 其他好文 > 详细

斐波那契数列

时间:2018-11-30 11:40:58      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:统计   lob   实现   调用   深度   全局变量   除了   imp   代码   

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方法,你会有惊喜的。总之:工作中,能不用递归就不用递归。

斐波那契数列

标签:统计   lob   实现   调用   深度   全局变量   除了   imp   代码   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!