Fibonacci Sequence

# fibonacci sequence 斐波那契数列

def fibonacci_for(n):
# 使用for循环返回n位斐波那契数列列表
li = []
for i in range(n+1):
if i == 0 or i == 1:
li.append(1)
else:
li.append(li[i-2] + li[i-1])
return li def fibonacci_sequence(over, x=1, y=1):
# 返回一个over值以内的斐波那契数列列表
if x <= over:
return [x] + fibonacci_sequence(over, y, x+y)
else:
return [] def fibonacci_count(n, x=1, y=1, count=0):
# 使用递归返回n位斐波那契数列列表
if count <= n:
count += 1
return [x] + fibonacci_count(n, y, x+y, count)
else:
return [] def fibonacci_index(index, x=1, y=1, count=0):
# 使用递归返回index位置的斐波那契数值
if count == index:
return x
else:
count += 1
return fibonacci_index(index, y, x+y, count) def fibonacci_short(x):
# 极短版斐波那契数列
if x < 2: return 1
return fibonacci_short(x-2) + fibonacci_short(x-1) print(fibonacci_for(12))
print(fibonacci_sequence(300))
print(fibonacci_count(12))
print(fibonacci_index(12))
print(fibonacci_short(12))

Python 斐波那契数列的更多相关文章

  1. python斐波那契数列复杂度

    契数列 概述: 斐波那契数列,又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n ...

  2. Python 斐波那契数列练习

    # coding=gbk # 迭代法---1 def fibonacci (n): if n == 0 or n == 1: return n else : a = 0 b = 1 for i in ...

  3. python 斐波拉契数列数列

    '''斐波拉契数列'''def Fibonacci(n): first, next = 0, 1 i = 0; while i < n: print next first, next = nex ...

  4. Python斐波那契数列

    今天偶然看到这个题目,闲着没事练一下手 if __name__ == '__main__': """ 斐波那契数列(Fibonacci sequence), 又称黄金分割 ...

  5. python 斐波那契数列 fibonacci

    在python中生成fibonacci数列的函数 def fibonacci(): list = [] while 1: if(len(list) < 2): list.append(1) el ...

  6. python斐波拉契数列

    def fib(max): n, a, b = 0, 0, 1 while n < max: print(b) a, b = b, a + b n = n + 1 return 'done' 注 ...

  7. Python递归及斐波那契数列

    递归函数 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数.举个例子,我们来计算阶乘 n! = 1 * 2 * 3 * ... * n,用函数 fact(n)表示,可 ...

  8. python实现斐波那契数列(Fibonacci sequence)

    使用Python实现斐波那契数列(Fibonacci sequence) 斐波那契数列形如 1,1,2,3,5,8,13,等等.也就是说,下一个值是序列中前两个值之和.写一个函数,给定N,返回第N个斐 ...

  9. Python 实现 动态规划 /斐波那契数列

    1.斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数 ...

随机推荐

  1. 今天玩了tensorflow playground,太好玩了

    先上地址: http://playground.tensorflow.org 我试了一个最复杂的,螺旋形的.开始怎么训练都不行.后来我多加了几个神经元,居然能训练成功了.真是太牛逼了!

  2. js左右切换 选择年龄

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. Python 远程调用MetaSploit

    (1)安装Python的msgpack类库.MSF官方文档中的数据序列化标准就是參照msgpack. root@kali:~# apt-get install python-setuptools ro ...

  4. 学习日记之原型模式和Effective C++

    原型模式(Prototype):用原型实例制定创建对象的种类,而且听过拷贝这些原型创建新的对象. 浅复制:假设字段是值类型的,则对该字段运行逐位复制.假设字段是引用类型.则复制引用但不复制引用的对象. ...

  5. 剖析Mysql的InnoDB索引

    摘要: 本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节. InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档).本着高效学习的目的,本 ...

  6. 分享一个android仿ios桌面卸载的图标抖动动画

    直接上代码,如有更好的,还请不吝赐教 <span style="font-size:18px;"><?xml version="1.0" en ...

  7. linux虚拟机网络设置(本机使用公司内网)

    使用桥接方式 设置: 一开始没有的话可以add 编辑edit 参考公司网络,下图是公司内网地址 然后设置 然后ping就ok了

  8. 【cl】maven新建web项目

    我的环境:window32位 +jdk1.7.0_75+maven3.3.3 1.ctrl+N 新建maven project项目 2.选择maven-archetype-webapp [这里一开始用 ...

  9. 推断一个点是否在某个区域内。百度,高德,腾讯都能用。(php版)

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...

  10. UVA 10888 - Warehouse(二分图完美匹配)

    UVA 10888 - Warehouse option=com_onlinejudge&Itemid=8&page=show_problem&category=562& ...