python展示多种方法处理斐波那契数列

简介: 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)在现代物理、准[晶体结构]、化学等领域,斐波纳契数列都有直接的应用。

1、斐波那契数列定义


斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)在现代物理、准[晶体结构]、化学等领域,斐波纳契数列都有直接的应用。


这样一个完全是自然数的数列,通项公式却是用无理数来表达的。而且当n趋向于无穷大时,前一项与后一项的比值越来越逼近黄金分割0.618.(或者说后一项与前一项的比值小数部分越来越逼近黄金分割0.618、前一项与后一项的比值越来越逼近黄金分割0.618)1÷1=1,1÷2=0.5,2÷3=0.666...,3÷5=0.6,5÷8=0.625,…………,55÷89=0.617977…,…………144÷233=0.618025…46368÷75025=0.6180339886…...


斐波那契数列中的斐波那契数会经常出现在我们的眼前——比如松果、凤梨、树叶的排列、某些花朵的花瓣数(典型的有向日葵花瓣),蜂巢,蜻蜓翅膀,超越数e(可以推出更多),黄金矩形、黄金分割、等角螺线,十二平均律等

6577fdb885f64a3494e5af5e586c7808~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg

2、斐波那契的解法


# 递归方式解法
def digui(n):
    if n <= 1:
        return n
    return digui(n-1) + digui(n-2)
# 递推方式解法
def ditui(n):
    a, b = 0, 1
    for _ in range(n):
        a, b = b, a + b
    return a
# 记表方式解法
def listNum(n):
    l = [0,1]
    if n <= 2:
        return l[:n-1]
    for _ in range(2,n):
        c = l[n-2] + l[n-2]
        l.append(c)
    return l
print(listNum(3))
复制代码


3、总结


斐波那契数列是刚接触编程的时候课本里的题目,虽然简单但是很训练编程思想,怎么样实现这样一个简单的题目,是每个初学者需要跨越的一步,理解递归,理解递推,甚至对以后实现动态规划都是不错的范例,好好理解对以后的学习大有帮助

目录
相关文章
|
12天前
|
数据采集 存储 自然语言处理
基于Python的微博热点李佳琦忒网友话题的评论采集和情感分析的方法,利用情感分析技术对评论进行情感倾向性判断
本文介绍了一种基于Python的方法,用于采集微博热点话题下的评论数据,并运用情感分析技术对这些评论进行情感倾向性判断,进而通过统计分析和可视化技术展示网友对特定话题的情感态度,对品牌或个人形象管理、用户需求发现、舆情监测和危机管理等方面具有重要价值。
基于Python的微博热点李佳琦忒网友话题的评论采集和情感分析的方法,利用情感分析技术对评论进行情感倾向性判断
|
1天前
|
Python
Python模块的创建方法?
【8月更文挑战第18天】Python模块的创建方法?
4 2
|
3天前
|
索引 Python
Python中的find()和count()方法详解
Python中的find()和count()方法详解
|
3天前
|
SQL JSON C语言
Python中字符串的三种定义方法
Python中字符串的三种定义方法
|
9天前
|
机器学习/深度学习 算法 Java
Java调用Python方法
【8月更文挑战第7天】
|
4天前
|
Python
Python 设置环境变量方法
Python 设置环境变量方法
3 0
|
6天前
|
JSON 算法 API
【python】python指南(十三):FastAPI鉴权Authorization方法
【python】python指南(十三):FastAPI鉴权Authorization方法
12 0
|
6天前
|
存储 开发者 Python
六种方法实现Python文件之间的互动
六种方法实现Python文件之间的互动
7 0
|
11天前
|
JSON 数据库 Nacos
[python]常用配置读取方法
[python]常用配置读取方法
|
12天前
|
Python Windows
Python中4种方法实现 xls 文件转 xlsx
【8月更文挑战第6天】以下是Python中将`xls`文件转换为`xlsx`格式的四种方法:1) 使用`pandas`库,通过读取和重新保存文件实现转换;2) 利用`openpyxl`库加载并复制工作簿内容;3) 结合`xlrd`与`xlwt`读取旧格式并写入新格式;4) 在Windows系统下,采用`win32com`自动化Excel应用完成转换。例如,可将`example.xls`文件转换为`converted.xlsx`。