python求解斐波那契数列
2016-11-01 17:09
381 查看
斐波那契数列指的是这样的一组数列: 0 1 1 2 3 5 8............ 后一个元素是前两个元素的和,现在我们要输出斐波那契数列当中的第n个,这里给出两种方法,其中第一个方法效率较低,在数列很大的时候速度不如第二个速度快,代码如下:
def fib1(n): if n==0: return 0 elif n==1: return 1 else: return fib1(n-1)+fib1(n-2) fib1(4) Out[6]: 3 # 使用递归的思想 调用自身 k={0:0,1:1} k[1] Out[8]: 1 k={0:0,1:1,3:5} k[3] Out[11]: 5 # 返回的是键值 known={0:0,1:1} def fib2(n): if n in known: return known res=fib2(n-1)+fib2(n-2) known =res # 计算表达式 return res fib2(4) Out[15]: 3
相关文章推荐
- 用python快速求解斐波那契数列的某一项
- 扫描算法求解连续子向量的最大和问题(Python)
- Python简单求解高阶方程的数值解
- 求解斐波那契数列第100位(Java BigInteger版本)
- 斐波那契数列求解
- python求斐波那契数列示例分享
- python 斐波那契数列的生成,两种方法对比
- 求解斐波那契数列第n项(JavaBigInteger之自底向上迭代)
- 非递归-求解斐波那契数列
- 非递归求解斐波那契数列第n项的值
- 用python写成的排列问题求解代码
- python自学新手求解问题
- 二分法求解超大项的斐波那契数列数值
- python实现的斐波那契数列
- python 斐波那契数列
- 用python求解组合问题
- 【算法02】3种方法求解斐波那契数列
- Java算法--递推算法 求解兔子产子问题或斐波那契数列问题
- 递归求解斐波那契数列
- 3种方法求解斐波那契数列