"""
1、生成100项斐波那契数列
2、求第n项斐波那契数列的值是多少
3、给定终止值,生成此前斐波那契数列
""" # 求第n项斐波那契数列的值是多少
def Fibonacci(n): if n == 1: # 如果n=1,返回0
return 0
elif n == 2: # 如果n=2,返回1
return 1
else:
return Fibonacci(n-1) + Fibonacci(n-2) # 通项公式 F(N) = F(N-1) + F(N-2) # 生成前n项斐波那契数列
def Fibonaccii(n):
seq = [0,1] # 初始化列表
if n == 1: # n=1,返回[0]
return [0]
elif n == 2: # n=2,返回[0,1]
return [0,1]
else:
for i in range(n-2): # n>2,循环添加数列到初始列表中
seq.append(seq[i]+seq[i+1])
return seq # 给定终止值,生成此前斐波那契数列
def Fibonacciii(n): seq = [0,1] # 初始化列表
i = 0 # 初始i if n == 0: # 如果n=0,返回列表[0]
return [0]
else:
if n <= 3: # 如果0<n<3
for i in range(n): # 循环往初始列表中添加斐波那契数列
seq.append(seq[i]+seq[i+1])
return seq
else: # 如果n > 3
while True: # 理论上当n 不确定时,需要添加的项数也是不确定的,故死循环
if seq[-1] <= n: # 一直添加,如果添加的最后一项不大于给定值
seq.append(seq[i]+seq[i+1])
i += 1 # 每次循环i 递增
continue # 继续循环,不执行以下代码
break # 当最后一项大于给定值时,跳出死循环
return seq[0:-1] # 最后返回去掉最后一个数值的斐波那契数列 # 求第n项斐波那契数列的值是多少(快速版)
def Fibonaccii(n):
seq = [0,1] # 初始列表怕[0,1]
if n == 1: # 如果n=1,返回[0]
return [0]
elif n == 2: # 如果n=2,返回[0,1]
return [0,1]
else:
for i in range(n-2): # 循环往列表中添加数列,初始已有两项故添加项数为n-2
seq.append(seq[i]+seq[i+1]) # 添加的数列值等于前两项的和
return seq[-1] # 取最后一项的值 # 求第n项斐波那契数列的值是多少(终极版)
def Fibonaccii(n):
a,b = 1,1
if n == 1 or n == 2:
return 1
for i in range(n-2):
s = a + b
a,b = b,s
return s # 老男孩版本
def Fibonacciiii(arg1,arg2,stop):
if arg1 == 0:
print(arg1)
print(arg2)
arg3 = arg1 + arg2
print(arg3)
if arg3 < stop:
Fibonacciiii(arg2,arg3,stop) Fibonacciiii(0,1,1000)

最新文章

  1. 【Java并发编程实战】-----&ldquo;J.U.C&rdquo;:Exchanger
  2. shell 常用小命令总结
  3. 虚拟机Linux----Ubuntu1204----退格键方向键无法使用
  4. [转]SQL注入攻防入门详解
  5. JOSN学习总结&lt;二&gt; JSON的格式与语法
  6. OpenGL ES2.0基础入门
  7. 标准I/O缓冲:全缓冲、行缓冲、无缓冲
  8. Struts1和Struts2的区别和对比
  9. Spring context:component-scan中使用context:include-filter和context:exclude-filter
  10. 求解释一个蛋疼的bug
  11. CTF 和 PHP ,数据库
  12. 简单易上手的Bootstrap
  13. 基于嵌入式操作系统VxWorks的多任务并发程序设计(2) ――任务控制
  14. Developer Survey Results 2017
  15. 自增ID算法snowflake(雪花)
  16. 杂牌机搞机之旅(一)——获得root权限(刷入magisk)
  17. jQuery 合成事件
  18. luoguP1919 A*B Problem升级版 ntt
  19. hiero.ui获取实例名的方法
  20. JVM学习02:GC垃圾回收和内存分配

热门文章

  1. 十一:SpringBoot-事务管理
  2. Spark踩坑填坑-聚合函数-序列化异常
  3. JYM虚拟机性能监控与故障处理工具
  4. vim自动添加C C++ sh文件头
  5. 在.NetCore(C#)中使用ODP.NET Core+Dapper操作Oracle数据库
  6. Java ArrayList源码分析(含扩容机制等重点问题分析)
  7. 【noi 2.6_6046】数据包的调度机制(区间DP)
  8. pillow KeyError: &#39;WEBP&#39;
  9. hash table
  10. STM32F107移植LWIP