python斐波那契数列前20项_兔子繁殖问题带来的智商碾压:斐波那契数列趣谈

6f7a4f580a893168f664a45795f366df.png

6a1b45379c6fe4f59bf7aecc43d776f0.png

本文来自公众号:超级数学建模

微信号 :supermodeling

原文标题:斐波那契数列趣谈

via 善科

by BB


一般认为斐波那契数列的提出是基于兔子的繁殖问题:如果一开始有一对兔子,它们每月生育一对兔子,小兔在出生后一个月又开始生育且繁殖情况与最初的那对兔子一样,那么一年后有多少对兔子?

答案是,每月兔子的总数可以用以下数列表示:1,1,2,3,5,8,13,21,34,55,89,144,233…。

这一数列是意大利数论家列奥纳多·斐波那契(Leonardo Fibonacci)在他13世纪初的著作Liber Abaci中最早提出的。如果取数列前两个元素为1,那么递推关系就是:

80f03f77fe6d82951014c971e7d8fccd.png

当然,曾经有一度数学家们将0作为斐波那契数列的首项(或第0项)。

这一数列看起来相当简单,但却隐藏着一些有趣的东西。

关于数列元素

关于斐波那契数列的元素,人们发现了不少有意思的事情。

质数与合数:斐波那契数列的质数元素也是该数列的质数项,唯一的例外是第4项元素3。但这个规律反过来不成立,数列的质数项元素的也可能是合数。这一“规律”可以为人们提供搜索大质数的线索。但在相当大的元素以后是不是仍有这个规律呢?目前没有人知道。

如果把用二进制表示的斐波那契数列前511个元素绘制出来,是这个样子的Wolfram Research):

19b75bd3b73cdefdd8fc462f6daf8385.png

是不是有点分形的味道?

5f286962038920bbbc0e1edbd5f47b51.png

f3b236b7127e4b59ea2a14b3e120f6c5.png

81de062d3d5752a7c4d335f6180311a6.png项:分别是2,21,209,2090,20899,208988,2089877,20898764…。(Sloane’s A068070)也就是说,这一数字不断接近208987640249978733769…的前几项。而208987640249978733769…和这样一个数有关:

840f0311a9ce6639ed0d0db7c4f31f9b.png

Binet公式:这个公式不是轨道力学里的那个常用的同名公式,而是给出斐波那契数列第n项的另一个公式,是Jacques Philippe Marie Binet在1843年发现的:

9ab61ff95746a82c6503dc75ce8220d7.png

看到了什么?是不是括号中的两个数似乎和黄金分割有关?

斐波那契数列与黄金分割

苏格兰人Robert Simson证明了,当项数趋于无穷时,斐波那契数列的后项与前项之比趋近黄金分割,也就是1.61803398875…。这也许说明了斐波那契数列与黄金分割有天然的联系。

如斐波那契螺旋就是最直接的例子。如果顺逆时针螺旋的数目是斐波那契数列中相邻的2项,可称其为斐波那契螺旋,也被称作黄金螺旋。这样的螺旋能最佳利用圆周,疏密最为均匀。它的构造方法也不难,只需先用同样是与斐波那契数列有关的数构造黄金矩型(长宽之比为黄金分割),再在每个矩形中各描绘出一条1/4圆弧,让各段弧彼此连接。这样的黄金矩形也往往能一些艺术名作中找到,如达·芬奇著名的作品《蒙娜·丽莎》。

ce08aabd08ef5b5e4f58afaaa100f81a.png

计算机绘制的斐波那契螺旋

5474f335e7db8ae30a59e3612998b724.png

斐波那契螺旋与黄金矩型

自然界中的斐波那契数列

最典型的例子就是以斐波那契螺旋方式排列的花序或树叶。蓟、菊花、向日葵、松果、菠萝……都是按这种方式生长的。如此的原因很简单:这样的布局能使植物的生长疏密得当、最充分地利用阳光和空气,所以很多植物都在亿万年的进化过程中演变成了如今的模样。当然受气候或病虫害的影响,真实的植物往往没有完美的斐波那契螺旋。

928f2178c932d9ec512cbad2f53b1050.png

每层树枝的数目也往往构成斐波那契数列。

曾在网上看到下面这样一组图,说的是花瓣数符合斐波那契数列各元素的各种植物,也许仅仅是巧合?

f15a0478461ff21a4b92f57d281941bf.png

另外,晶体的结构也往往与斐波那契数列有关。人们早就发现,在自然界的晶体中,原子以重复的样式排列,不同的化合物也许会出现不同的排列方式,但都是简单的平移重复而已。下面是几张来自晶体中的图案模型。

在图a中,我们可以看到每个原子被其他三个相同的原子包围,形成了一个单位样式,这称为三重对称,因为如果把其中之一沿着平面转过120度,将与另一个发生重叠。而在四重对称(图b)中,转过90度后可得相同图形,在六重对称(图c)中,转过60度可得相同图形。

0b544e48bf1cb34439e35e844f47fa09.png

但无论如何,五重对称(图d)却不可能得到,因为其中原子间的距离长短不一,这个样式无法实现旋转对称,由此很容易就充分证明了在晶体中找不到五重对称,依此,七重对称或者更高重的对称都是找不到的。

所以,早期晶体学家们都根深蒂固地认为,五重或七重以上的对称不符合自然规律。

然而,1982年4月的那个早晨,以色列理工学院的Daniel Shechtman却发现在他电子显微镜下面,一个衍射图案可以安然转过圆周的1/10(也就是36度)依旧得到原来样式,也就是说,发现了十重对称!

很快,他又从铝锰合金中找到了五重对称的图案。在那个时期,这项工作绝对是颠覆性的了,以至于相关论文1984年夏天被Journal of Applied Physics断然拒掉。还好,Physical Review Letters没做同样的武断之事,随后就发表了他的文章。Shechtman发现的固体形态被命名为准晶(quasicrystal),以示与传统晶体的区别,并被认为是介于晶体和非晶体之间的一种形态。

5a4dc2f0d4e67f8da4c9df42958f4609.png

Daniel Shechtman获得了2011年的诺贝尔化学奖

ef72872c7a0eb6e4f52b78b68e73a2d5.png

著名应用数学家Roger Penrose爵士

事实上,无独有偶,同一时期的数学家们已为他做好了理论铺垫,英国人彭罗斯(Roger Penrose)差不多同一时期便在前人工作基础上提出了一种以两种形状的拼图铺满平面的解决方案。对于Shechtman的准晶体衍射图案和彭罗斯的镶嵌瓷砖来说,都有一个迷人的性质,就是在它们的形态中隐藏着美妙的数学常数τ,亦即黄金分割数1.618……。

彭罗斯瓷砖以一胖一瘦两种菱形(内角分别为72度、108度和36度、144度)镶拼而成,两种菱形的数量之比正好是τ;同样的,在准晶中,原子之间的距离之比也往往趋近于这个值。

a604226dbdfb78f45560ab4a24161cd5.png

往期内容回顾:

内裤简史

一名代孕者的自白

他是个孩子,但也是一个杀人犯!

译言给你的礼物

斐波拉契从一对兔子的繁殖开始,推论出了“兔子数列”亦即斐波拉契数列。由此递推数列,我们可以发现养一对兔子,一年之后就会发展壮大成一个养兔场。人们从斐波拉契数列出发得到了很多有益的和有趣的结果。比如斐波拉契数列与黄金分割(0.618)的关系,并且直到现在还在优选法和运输调度理论中起着基本原理的作用;又如种向日葵的农场主在葵花籽的分布规律上发现了斐波拉契数列,乃至好多植物的花瓣叶序上发现的斐波拉契数列奇观形成了至今未解的“叶序之迷”。可见一个“养兔问题”竟揭示了大自然的一个普遍存在的奥秘。想要了解斐波拉契与兔子繁殖这一数学问题的历史,欢迎阅读《斐波那契的兔子:现代数学之父与算术革命》探寻斐波拉契其人及“兔子数列”的奥秘。

识别图中二维码或点击阅读原文,火速购买吧!

916fea721b489fade8c657e9147cf3e6.gif
点击“阅读原文”,购买图书。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/336071.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jboss使用_使用JBoss Cool Store的终极云零售指南

jboss使用我们一直在讨论为什么应用程序开发人员在App Dev Cloud Stack系列中不能再忽略其堆栈了。 带有JBoss Cool Store的App Dev Cloud 我们从头到尾讨论了各个层次,但尚未为您提供除Red Hat Container Development Kit(CDK)之外的任何应…

C++ 11 深度学习(六)智能指针综述

以下三种智能指针均为类模板 1.shared_ptr 共享指针 ,多个指针指向同一个对象,最后一个指针被销毁时,这个对象会被释放。 2.week_ptr 是辅助shared_ptr工作的 3.unique_ptr 是独占式指针,同一时间只能有一个指针能指向该对象…

10 NAT网络地址转换

广域网技术 上面聊的内容都是内网的一些配置,但内网终将要访问外网的,我们需要怎么处理呢?一般使用HDLC(高级数据链路控制协议)或者PPP(点对点协议)。 使用PPP安全接入Internet PPP&#xff0…

java应用性能指标_性能与可靠性:Java应用为何像F1汽车

java应用性能指标再想一想。 性能和可靠性相关吗? 还是这些东西相互排斥? 我认为是后者。 如今,现实是IT部门将应用程序的性能和可靠性视为同一事物,但这离事实还差得远。 让我们看看一级方程式车队如何管理性能和可靠性。 上赛…

tomcat ajp协议安全限制绕过漏洞_Apache Tomcat文件包含漏洞(CVE20201938)复现

一、漏洞背景2020年02月20日,国家信息安全漏洞共享平台(CNVD)发布了关于Apache Tomcat文件包含漏洞(CVE-2020-1938/CNVD-2020-10487)的安全公告。Tomcat作为一款免费开源轻量级的web应用服务器,广泛应用于并发量不是很高的场合,Tomact默认端口…

【H.264/AVC视频编解码技术】第三章【熵编码】

熵编码的概念 熵:化学与热力学概念,用于度量能量退化的指标。熵越高,物体/系统做工能力越低。 信息学中的熵:用于度量消息的平均信息量,和信息的不确定性。越是随机的,前后不相关的信息,其熵越…

mock 抛出一个异常如何终止_教你使用Mock完成单元测试

更多精彩文章请关注本人微信公众号1、什么是Mock?mock是在测试过程中,对于一些不容易构造/获取的对象,创建一个mock对象来模拟对象的行为。比如说你需要调用B服务,可是B服务还没有开发完成,那么你就可以将调用B服务的那部分给Moc…

jconsole查看连接数_在JConsole和VisualVM中查看DiagnosticCommandMBean

jconsole查看连接数我已经将JConsole用作合适的通用JMX客户端已有很多年了。 该工具通常随Oracle JDK一起提供,并且易于使用。 在JMX交互方面,JConsole优于VisualVM的最大优点是JConsole带有内置的MBeans选项卡,而必须为VisualVM中的相同功能…

如何知道一个域名是否存在_域名检测API实现查看一个域名在微信中是否被封

针对微信转发分享链接过程中,您宝贵的域名被微信检测系统过滤拦截而无法正常浏览,例如该网页包含诱导分享内容,被多人投诉等,又例如提示该网页已停止访问等提示。怎么查询域名在微信中是否被封了呢?以上接口可检测到域名的四种异…

量化指标公式源码_通达信指标公式源码线上阴线指标公式

工作线:(EMA(C,14)),POINTDOT,LINETHICK3,COLOR22ACDE;生命线:(MA(C,25)),LINETHICK1,COLORMAGENTA;不惑线:(MA(C,40)),COLORCYAN,LINETHICK1;姊妹线:(EMA(C,56)),POINTDOT,COLOR33CCDD,LINETHICK1;A3:EMA((((SLOPE(C,21)) * 20) C),68);A4:EMA(C,10);A5:REF(C,2);A6:((SMA((M…

jsf和jsp_带有JSF,Servlet和CDI的DynamicReports和JasperReports

jsf和jsp在此示例中,我将展示如何将DynamicReport和JasperReports与Servlet和CDI集成。 工具: TIBCO Jaspersoft Studio-6.0.4。最终版 Eclipse Luna服务版本2(4.4.2)。 WildFly 8.x应用程序服务器。 这是Eclipse上项目层次结…

接口隔离原则_设计模式的三大分类及六大原则

设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式分为三大类&…

Leetcode 24. 两两交换链表中的节点

原题链接 题解: 1.头部会改变创建虚拟头结点 2.前两个点定义为a,b,c 3.p指向b,a指向c,b指向a ; p指向本段最后一个结点。 class Solution { public:ListNode* swapPairs(ListNode* head) {auto dummy new ListNode(-1);dummy->next head;for (a…

python 获取文件名_真实需求 | Python+os+openpyxl 批量获取Excel的文件名和最大行数...

1. 提出需求 这已经不知道是粉丝问我的第几个办公自动化的问题了,并且这些问题都是大家在学习和工作中碰到过的真实问题场景。其实从下图中已经可以很明确的看出别人的需求了,我这里就不用在赘述了,下面直接上思路吧!2. 解题思路为…

apache ignite_从In Memory Data Grid,Apache Ignite快速入门

apache igniteIMDG或内存数据网格不是内存中关系数据库,NOSQL数据库或关系数据库。 它是另一种软件数据存储库。 数据模型分布在单个位置或多个位置的许多服务器上。 这种分布称为数据结构。 这种分布式模型被称为“无共享”架构。 IMDG具有以下特征: 所…

bvp解算器是什么_那些学习了编程的中学生,为什么会更可能成功?

来源 | 异步当你看到这个题目,或许会想,这不是搞笑吗?众所周知,高等数学是编程的基础和前提,而说起程序编写员,在普通人眼里就是数学学霸的代名词,人们往往会把它和那些数学天才的名字联系在一起…

maven与spring_与Spring和Maven签约首个SOAP服务

maven与spring1.简介 在本教程中,我们将学习使用JAX-WS,Spring和Maven实施合同优先的SOAP服务应用程序。 这是使用合同优先还是代码优先方法的更多设计决定。 在开发基于SOAP的Web服务应用程序时使用应用合同优先的方法最显着的好处是,可以在…

如何维持手机电池寿命_充电小知识:你知道如何正确充电吗?这几种充电方式最损害电池...

目前基本上大部分人都至少有一部智能手机,智能手机基本上都需要每日一充,你的充电方式会不会损伤电池呢?有部分消费者认为要等到手机电量耗尽后再充电,还有人认为手机充电要充至100%才能拔下来,有人觉得充电宝等产品给…

【开放集检测】OpenGAN: Open-Set Recognition via Open Data Generation 论文阅读

文章目录 英语积累为什么使用GAN系列网络进行开放集检测摘要1. 前言2. 相关工作开集检测基于GAN网络的开集检测基于暴露异常数据的开集检测 3. OpenGAN3.1 公式建模3.1.1 二分类方法存在问题如何解决 3.1.2 使用合成数据存在问题如何解决 3.1.3 OpenGAN3.1.4 模型验证 3.2 先前…

sso集成shiro_Keycloak SSO集成到jBPM和Drools Workbench中

sso集成shiro介绍 单一登录(SSO)和相关令牌交换机制正在成为Web上不同环境中身份验证和授权的最常见方案,尤其是在迁移到云中时。 本文讨论了Keycloak与jBPM或Drools应用程序的集成,以便使用Keycloak上提供的所有功能。 Keycloak…