实现斐波那契数列的几种方法
2014-06-23 20:37
507 查看
# encoding:utf-8 def fib(n): """迭代法 >>> fib(8) 13 """ prev, curr = 1, 0 for _ in range(n - 1): prev, curr = curr, prev + curr return curr def memo(fib): """缓存法""" cache = {} def memo_cache(n): if n not in cache: cache = fib(n) return cache return memo_cache @memo def rec_fib(n): """递归法 >>> rec_fib(8) 13""" if n == 1: return 0 if n == 2: return 1 else: return rec_fib(n-2) + rec_fib(n-1) if __name__ == '__main__': import doctest doctest.testmod()
相关文章推荐
- go语言之斐波那契数列的几种实现方法
- C#实现斐波那契数列的几种方法整理
- 实现性能目标的几种方法
- 实现浏览器全屏窗口的几种方法
- C#抽象工厂模式的几种实现方法及比较
- C#抽象工厂模式的几种实现方法及比较(转)
- C#抽象工厂模式的几种实现方法及比较
- 用Delphi实现文件下载的几种方法
- 实现浏览器全屏窗口的几种方法
- 使用SQL语句实现SPLIT效果的几种方法
- SAP NetWeaver实施方法初探之二:NetWeaver的几种基本实现方法
- 在ASP中实现页面与数据库连接的几种实用方法
- 使用反射实现根据名称动态创建窗体的几种方法。
- UNIX下实现终端打印的几种方法
- 用Delphi实现文件下载的几种方法
- 端口映射的几种实现方法
- UNIX下实现终端打印的几种方法
- JavaScript实现网页弹出式窗口的几种方法
- 端口映射的几种实现方法
- dll--几种基本实现及调用方法