斐波那契数列的算法实现 —— python
来源:互联网 发布:mac mini nas 方案 编辑:程序博客网 时间:2024/06/05 15:50
斐波那契数列,简单地说,起始两项为0和1,此后的项分别为它的前两项之后。
实现方式一:
根据这一特性,可采用最简单的方法计算该项,循环计算每项的值,以下为python实现代码,输出该数列的前num项
def printFibo(num): a = 0 b = 1 i = 0 while i < num: print a a,b = a, a+b i += 1
实现方式二:
考虑到从第三项开始,每一项的值都为前面两项的和,可以使用递归的方法来计算:
def item( num ): if num == 0 : res = 0 elif num == 1: res = 1 else: res = item ( num - 1) + item (num -2) return resdef printFibo( no ): i = 0 while i < no: print item(i) i += 1
实现方式三:
以上采用的是递归的实现方式,相比较而言,使用迭代会更加高效,以下函数会返回一个列表:
def fibo(num): numList = [0,1] for i in range(num - 2): numList.append(numList[-2] + numList[-1]) return numList
另外一种方式如下,该函数只返回某一项:
def fibo(n): x, y = 0, 1 while(n): x,y,n = y, x+y, n - 1 return x
实现方式三:
采用尾递归的方式来编写
def fibo(n): def fib_iter(n,x, y): if n == 0: return x else: return fib_iter(n-1, y, x+y) return fib_iter(n, 0, 1)
1 0
- 斐波那契数列的算法实现 —— python
- python实现斐波那契数列
- 斐波那契数列 python实现
- 斐波那契数列算法实现
- Python Tricks(八)—— 斐波那契数列的另类实现
- 斐波那契数列的递归和非递归实现 —— python
- Python实现一个简易的斐波那契数列
- python递归式的实现斐波那契数列
- 斐波那契数列的实现(Python)
- python用迭代器的方式实现斐波那契数列
- Java基础算法——斐波那契数列的多种实现方式!
- 斐波那契数列的各种算法实现
- 斐波那契数列的各种算法实现
- 斐波那契数列的应用(算法实现)
- 斐波那契数列的各种算法实现
- Python 实现斐波那契数列 (黄金分割数列)
- 算法题目——python基础巩固练习一 斐波那契数列
- 【Python】Python使用generator实现斐波那契数列
- #ifndef/#define/#endif使用和交叉引用问题详解
- Win7怎样添加环境变量
- XCode快捷键
- android自定义的toast样式
- HDOJ 题目4000 Fruit Ninja(树状数组)
- 斐波那契数列的算法实现 —— python
- C语言strcat()
- 黑马程序员-OC回顾-语法总结
- nodejs安装express时丢人了
- C++顺序容器vector,deque,list
- 惯性力的数学推导
- [oracle]数据库备份还原操作详细操作
- 如何解决Error: Can't create a new thread (errno 12)
- 从头认识java-4.5 对象的清理(finalize())