首页 > 编程知识 正文

python中用递归实现斐波那契数列,python写斐波那契数列递归

时间:2023-05-06 18:16:51 阅读:203491 作者:3775

基于Python实现斐波那契数列。

热心的哈密瓜,数据线:使用循环,通过yield生成器返回结果,使用时通过list转换为列表。这种方法效率更高,占用空间较小;wwdhb:使用递归实现,效率很低,占用内存较高。

n=40时,热心的哈密瓜,数据线耗时不足1s,wwdhb耗时68s。

import timedef fib(n): a = 0 b = 1 for i in range(n): yield b a, b = b, a + bdef fib_recursive(n): n = int(n) if n <= 0: raise Exception('请输入大于0的值!') if n == 1 or n == 2: return 1 else: return fib_recursive(n - 1) + fib_recursive(n - 2)if __name__ == '__main__': t1 = time.time() print(list(fib(40))) t2 = time.time() print(fib_recursive(40)) t3 = time.time() print('---计算耗时---:nt循环实现:%snt递归实现:%sn' % (t2 - t1, t3 - t2))

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。