RUNOOB python练习题6 斐波那契数列
用来练手的python 练习题其六,原链接 : python练习实例6
题干 : 斐波那契数列
斐波那契数列可以说是很好的递归理解工具了,这里就用递归实现一下斐波那契数列。
源代码如下:
# 返回fibonacci数列中某一项的数值
def Fibonacci(n):if n == 1:return 1elif n == 2:return 1else:return (Fibonacci(n-1) + Fibonacci(n-2))
# 输出斐波那契数列的第十项
print(Fibonacci(10))
输出 :
上述函数是返回斐波那契数列某一项的数值。使用递归的一个核心思想就是在函数中自调用,且每次自调用总是生成一个子问题。总的来说,递归的写法有很大程度上依赖数列的递推规律。对于斐波那契数列来说,总满足a1=1,a2=1,an=an−1+an−2forn>2a_1 = 1, a_2 = 1, a_{n} = a_{n-1} + a_{n-2} \space\space for\space n >2a1=1,a2=1,an=an−1+an−2 for n>2。利用递推规律,我们不难将当前项与之前的项联系起来,并在一步一步迭代中直至之前的项为初始值a1,a2a_1, a_2a1,a2。
有了上述函数,要输出斐波那契数列的前N项也很简单了,代码如下 :
import numpy as np
def Fibonacci_sequence(n):result = np.zeros(n)for i in range(n):result[i] = Fibonacci(i+1)return result
print(Fibonacci_sequence(10))
输出结果 :
RUNOOB python练习题6 斐波那契数列相关推荐
- RUNOOB python练习题24 斐波那契数列的衍生问题
用来练手的python练习题,原题链接 : python练习实例24 题干: 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13-求出这个数列的前20项之和. 拿到题目观察数列,我们不 ...
- python函数递归 斐波那契数列
4.7 python函数递归 斐波那契数列 代码:(利用递归.format输出等) def fibonacci(n):if n==1 or n==2:f=1else:f=fibonacci(n-1)+ ...
- python程序题斐波那契数列通项公式,Python斐波那契数列应用,编程练习题实例六...
python斐波那契数列,本文是关于Python编程练习题和答案实例六,斐波那契数列应用的示例.引用百度关于斐波那契数列的介绍,大家先简单来的了解下,什么是斐波那契数列? 斐波那契数列(Fibonac ...
- 用python语言编斐波那契数列_用python函数写斐波那契数列
斐波那契数列,又称黄金分割数列.因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为"兔子数列",指的是这样一个数列:1.1.2.3.5.8.13.21.34.--在数学上, ...
- Python 实现 动态规划 /斐波那契数列
1.斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为&quo ...
- python列表输出斐波那契数列_Python|运用列表求斐波那契数列
问题描述 斐波那契数列,又称黄金分割数列,指的是这样一个数列:0.1.1.2.3.5.8.13.21.34.--.前两项相加等于第三项.求任意一项,通常可以用函数来解题.但我们今天用列表来解题. 解决 ...
- python列表求斐波那契数列_python3 求斐波那契数列(Fibonacci sequence)
输出斐波那契数列的前多少个数. 利用函数 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan # ----斐波那契数列( ...
- python基础学习-斐波那契数列实现
介绍 首先介绍一下斐波那契数列,斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称 ...
- Python编程实现——斐波纳契数列
斐波纳契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数 ...
最新文章
- 装饰模式(Decorator Pattern)--------结构型模式
- 3.2 表达式的类别与类型
- JVM学习笔记之-执行引擎(Execution Engine)
- P1351-联合权值【树形结构】
- TClientDataSet使用要点
- 【牛客 - 330C】Applese 走迷宫(bfs)
- LeetCode 648. 单词替换(Trie树)
- 自然语言处理相关知识的构成
- VALSE学习(十四):自主学习
- RichContentLabel使用注意
- ArcGIS10.3 Desktop Server 安装教程 附下载地址
- 2021最新微信漫画小程序全开源商业版:带漫画资源,带搭建教程,流量变现利器。附安装说明和源码。
- Java的ActiveX控件_注册ActiveX控件的几种方法 - 镜花水月 - JavaEye技术网站
- Js勾选同意协议教程-更新篇
- Mac系统开发常见问题-Mac登录界面多了一个其他账户选项
- 常见的服务器类型有哪些?
- 商业web 漏洞扫描神器———AWVS篇基础
- 2.ZooKeeper分桶策略实现高性能的会话管理「第五章 ZooKeeper 原理」「架构之路ZooKeeper理论和实战」
- gnome桌面显示计算机,使用 GNOME 桌面
- PaaS将吞噬云计算?Kubernetes的市场冲击波
热门文章
- 三、“涤纶纤维和棉纤维两组分纤维在涤/棉混纺织物燃烧过程中有着明显的物理相互作用和化学相互作用”,解释这两种作用。
- 4邻接、8邻接、m邻接
- python manager与basemanager_使用Python多处理管理器(BaseManager/SyncManager)与远程计算机共享队列时出现管道中断...
- [golang]nil slice和empty slice的区别
- 蛇形数组打印(两种形式)
- 字节字符区别Java_【JAVA基础】字符数组与字节数组的区别
- 数据可视化【六】Line Chart Area Chart
- Linux命令【一】基本命令
- linux中标准I/O 文件I/O 及库
- Wireshark(2):应用Wireshark观察基本网络协议