斐波那契数列不用数组_兔子数列——斐波那契数列

相信人们都对斐波那契数列有或多或少的了解,如果没有,那你一定听过黄金分割比或是见过下面这种图片:

e3fa03b35e11589d06105c60319661e3.png

斐波那契生活在十三世纪的意大利,原名列奥纳多·皮萨诺(Leonardo Pisano),他出生在意大利那个后来因为伽里略做过自由落体实验而著名的斜塔所在的城市里。值得一提的是,除了常为人所道的斐波那契数列,他还有一项更伟大的数学成就——将阿拉伯数字和乘数的位值表示法系统引入了欧洲。所以,我们也许可以说他是生活在丢番图之后费尔马之前这2000年间欧洲最杰出的数学家了。

f90ef4ab226b3cefb4fa35a62c9cd622.png

斐波那契数列源自斐波那契在《计算之书》第12章中提到的兔子繁殖问题:

f0078896efd1a53f633e21a73a0139c3.png

如果每1对成兔每月生1对幼兔,幼兔经过2个月后成为成兔,即开始繁殖,试问年初的1对幼兔1年后能繁殖成多少对兔子?(假定不发生任何死亡)

记第月底的兔子对数为Fn,则:F1=1,F2=1,F3=2,F4=3,F5=5,F6=8,…观察数列{Fn}规律很容易发现,从第三项起,每一项都是它前两项的和,即Fn+2=Fn+1+Fn(∈N*),这样我们得到一个数列:1,1,2,3,5,8,13,21,34,55,89,144,233,377,…这样很容易知道年底共有144对兔子.

将问题一般化后就是:第个月底时的兔子数就是斐波那契数列的第项.那么能否找到它的通项公式?

推导过程如下:

4c180d5af150e7052587be96a797a166.png

这个数列其中一个有趣的性质就是:一个数与其后一个数之比,越往后越接近于0.618.即,当n趋向于无穷大时,比值Fn/Fn+1趋向于(√5-1)/2,而这个无理数,正是黄金分割数0.618的来历。

自然界中存在许多相关案例,我们可以很容易地观察到诸如松塔、花菜、向日葵、以及许多花蕊都按照一定的螺旋排布,而它们顺时针和逆时针螺旋的条数恰是斐波那契数列中相邻的两项。

005d3ca30a801d34942fb3477b39206e.png
2d0ac50bf65d719da02b5c91c90f5b38.png

花瓣的数目:

db622ee84cec8677c783ad9b128a129e.png

树枝的分叉:

eb6ace52b56d7da8257bcfb6a3475bc4.png

叶子的生长方式也是如此,对于许多植物来说,每片叶子从中轴附近生长出来,为了在生长的过程中一直都能最佳地利用空间(要考虑到叶子是一片一片逐渐地生长出来,而不是一下子同时出现的),每片叶子和前一片叶子之间的角度应该是222.5度,这个角度称为“黄金角度”,因为它和整个圆周360度之比是黄金分割数0.618033989......的倒数,而这种生长方式就决定了斐波那契螺旋的产生。

这似乎是植物生长或排列种子的“优化方式”,它能使所有种子具有差不多的大小却又疏密得当,不至于在圆心处挤了太多的种子而在圆周处却又稀稀拉拉。

0.618这个比例被公认为是最能引起美感的比例,因此被称为黄金分割。但是0.618这个比例是非常难以计算的,我们可以记下1.618这个数值,也就是我们常常在摄影中提到的“三分线构图”。

b04bfe49593d5ca8ea16f7b9fba4150f.png

在平面设计中:斐波那契矩形或斐波那契数列中各个数字为半径的圆形相切而组成的复合图形。

875d20c245ea53b2b0059a7a2f9438d5.png
9a7e4f2f27573d80c1019c8dcc82b2e4.png
a1ff3589f756468e0a0682d0fbff3f48.png

斐波那契数列最常用的功能就是用来布局。设计师可以指定特定的单位宽度,例如90像素,然后分别乘以斐波那契数列中的斐波那契数,得到的就是各分栏的定宽。例如,在一个1170像素宽度的三栏式布局中,各栏宽度分别为180像素(90×2)、270像素(90×3)和720像素(90×8)。斐波那契数列除了可以用来指定分栏的列宽,也可以决定标题和正文字号的大小关系。如果根据数值大小将数列进行拆分,那么较大的斐波那契数(144,233,377,610,987)可以分配给各分栏的列宽及其它部分的长度,而较小的斐波那契数(8,13,21,34,55)可以用来设置文字的大小、行高与间隙。

纯文字图书中,正文字号用8号会略小,一般我们可以适当放大一些,改用9、14、23这样的字号,各级字号等于前两个级别之和;用来细分网格,比如将版面分为若干个小网格。按数列比例选择区块进行分割或组合。

c3f04dcb84a88c842c4f68ee10e766e8.png
782f7efb478b54b8d0a2d1933ddc1c63.png

仿生设计:前面提到了树枝的分叉遵循斐波那契数列,而在2011年8月份,美国一名13岁的小男孩Aidan Dwye在观察树枝分叉时“发现”它的分布模式类似斐波那契数列,这是大自然演化的一种结果,可能有助于树叶进行光合作用。于是他据此制作了一个小型的太阳能电池树,并在特定的高度和间隔安装上了太阳能电池。普通的太阳能电池一般是成排成列摆放的,实验结果显示,按照斐波那契数列摆放的太阳能电池树产生的电能要多出20%,且太阳能照射到它的时长要比普通阵列多出2.5个小时。

a00529de96d15a46d31a820fc6cbecdd.png

“音乐与数学的关系,即作为一个观念性的问题,又作为一个方法论的问题。在西方音乐历史上,是从毕达哥拉斯时代开始就一直被关注的一个对象。”许多作曲家在创作曲谱时也利用了斐波那契数列。在《新格罗夫音乐与音乐家辞典》的词条“Fibonacci series”中提到:“作品中自然出现的斐波那契数列始于 1843 年之前,但是在这种情况下,音乐学者必须在对作品的解释以及作曲家的自觉意图这两者之间做出清晰的区分”。如古拜杜丽娜的《打呃歌》。

5bd242c4d97692f9fa986d315ecd2b32.png
1d1c61f9738cef04dadaa7a54ebb99fc.png

斐波那契数列:“有我走天下?”

异调.植物如何优化器官的排列方式?——斐波那契螺旋[J].科学24小时,2004(05):24.

杨洪格.自然界的数学之美——斐波那契数列[J].中学生数学,2016(13):29-30.

https://blog.csdn.net/g1933375079/article/details/18773641

https://www.sohu.com/a/219555957_114819

http://www.odaad.com/share/eperience/2013-07-31/222.html

倪勇,张永志,李瑞琪.斐波那契数列在LOGO设计中的应用研究[J].设计艺术(山东工艺美术学院学报),2014(06):107-110.

孙重冰.斐波那契数列与平面设计[J].设计,2014(11):109-110.

https://zhuanlan.zhihu.com/p/34600277

https://www.guokr.com/article/60134/

刘舒婷. 索菲亚·古拜杜丽娜《打呃歌》、《开始时是节奏》中的数理逻辑—斐波那契数列[D].上海音乐学院,2019.

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

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

相关文章

sqlserver服务启动失败_条码打印软件连接SQL数据库出现TCP连接失败解决办法

小编今天用条码打印软件连接SQL 数据库遇到了一个问题:通过端口1433连接到主机localhost的TCP/IP连接失败。错误:“Connection refused:connect。请验证连接属性。确保SQL Server的实例正在主机上运行,且在此端口接收TCP/IP连接&a…

python怎么播放mp3_python上播放mp3歌曲

试试这个。它过于简单但可能不是最好的方法。from pygame import mixer # Load the required librarymixer.init()mixer.music.load(e:/LOCAL/Betrayer/Metalik Klinik1-Anak Sekolah.mp3)mixer.music.play()请注意,支持MP3pip install pygame第二种方法试一试使用p…

python语言发明者 google_谷歌的语言何以战胜Python?50%的人都应该立即学习Golang...

全文共2623字,预计学习时长9分钟图源:dailybtc很多软件工程师视Python为最喜爱的语言之一,工作生活都和它死死绑定在一起。但Google, Uber, Dropbox, Soundcloud, Slack, 和Medium的软件工程师并不是这样。长期以来,顶级企业的程序…

python基础文档_python基本文件操作

python文件操作python的文件操作相对于java复杂的IO流简单了好多,只要关心文件的读和写就行了基本的文件操作要注意的是,当不存在某路径的文件时,w,a模式会自动新建此文件夹,当读模式,文件不存在&#xff0…

python如何计算整数和_python 整数和浮点数

Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致。基本的运算:1 2 3 # > 64 * 5 - 6 # > 147.5 / 8 2.1 # > 3.0375使用括号可以提升优先级,这和数学运算完全一致,注意只能使用…

cocoscreator连接MySQL_CocosCreator幼麟麻将搭建步骤

我的客户端和服务器都是在本机Windows8上搭建的,软件环境为:MySQL:5.7Node.js:6.11.0CocosCreator:1.6.2步骤如下:一、服务器环境搭建1、安装MySql数据库(百度)2、登录MySql: mysql –u用户名 –p密码 (登录…

hikaricp mysql_使用 HikariCP 数据源

概述HikariCP是Spring Framework 5.0的默认 数据库连接池,这得益于他的高性能。但是如果配置不当,数据库连接池也可能因影响到系统性能。重要参数maximum-pool-sizeminimum-idlepool-nameauto-commitidle-timeoutmax-lifetimeconnection-timeout初始化过…

return两个返回值_异步函数的两个视角

我们来一起看一下两个程序员之间的故事。以下示例代码是用Scala写的,不过本文所讲的话题并不仅限于Scala,任何有Future/Promise支持的语言都是适用的。下面这个wiki页面罗列了各个有Future/Promise支持的语言,已经涵盖了大多数的常用语言。Fu…

python怎么控制速度_如何控制python的ThreadPoolExecutor的吞吐量速度?

我使用python的concurrent.futuresThreadPoolExecutor启动异步任务。按照this方法,我使用tqdm进度条监视异步调用的进度。在我的代码如下所示:with concurrent.futures.ThreadPoolExecutor(max_workers n_jobs) as executor:future_to_url {executor.s…

mysql57win10安装配置_Win10 OS安装(配置)MySQL 5.7(解压版)

Win10 OS安装(配置)MySQL 5.7(解压版)下载及解压文件名:mysql-5.7.27-win32.zipzip是解压版,msi是安装版,本教程仅说明zip格式的配置方法。解压(假设解压后根路径为D:\ide\mysql-5.7.27-win32)相关截图添加环境系统变量path 增加D:\ide\mysql…

mysql数据库更新数据库语句_MySQL数据库之UPDATE更新语句精解

UPDATE和REPLACE基本类似,但是它们之间有两点不同。1. UPDATE在没有匹配记录时什么都不做,而REPLACE在有重复记录时更新,在没有重复记录时插入。2. UPDATE可以选择性地更新记录的一部分字段。而REPLACE在发现有重复记录时就将这条记录彻底删除…

ubuntu安装python编译器_Ubuntu中安装VIM编辑器

Ubuntu安装好以后,默认是安装使用nano编辑器。不过这对于用惯了vim的人可能会有些不习惯。好在Ubuntu下安装vim还是比较简单的,使用如下命令即可:sudoapt-get install vim(apt-get install vim-full这下就好了 在输入 :syntax on 或者把/etc/…

pep8 python 编码规范_如何用好python编码规范,写一手漂亮的代码

前一段时间在编写python 代码的时候编辑器中一直在提示规范问题,因为强迫症的原因,我决定遵循python 的编码规范去编码,然后把需要注意的点记录下来, 帮助自己和大家一起成长。这是我的main.py文件中的一部分代码,经过…

MySQL故障检测_检测MySQL的表的故障的方法

表的故障检测和修正的一般过程如下:检查出错的表。如果该表检查通过,则完成任务,否则必须修复出错的数据库表。在开始修复之前对表文件进行拷贝,以保证数据的安全。开始修复数据库表。如果修复失败,从数据库的备份或更…

mysql约束_Mysql约束条件

约束条件1约束条件约束是一种限制,通过对表中的数据做出限制,来确保表中数据的完整性,唯一性默认约束CREATE TABLE tb(id INT DEFAULT a ,name VARCHAR(20));插入数据的时候,如果没有明确为字段赋值,则自动赋予默认值在…

mysql导入greenplum_greenPlum中通过gpfdist导入文本数据到数据库表中

1.python版本要求2.4.4以上[roottest install]# pythonPython 2.6.2 (r262:71600, May 14 2009, 10:46:21)[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2Type "help", "copyright", "credits" or "license" for more informatio…

解决方案和项目的关系_项目经理入门知识系列之《项目团队的职责分工》

项目团队的组织结构组织结构项目经理职责整合制定项目计划所需的活动。整合执行项目计划所需的活动。整合进行范围变更所需的活动。1、目经理负责对横跨多个职能线的活动进行协调和整合。整合管理2、项目经理核心技能---沟通能力(因为他的权力太少了)如果一个人有良好的沟通与人…

python小车行驶路线图_基于opencv-Python小车循线学习笔记

基于opencv-Python小车循线学习笔记加入摄像头模块,让小车实现自动循迹行驶思路为:摄像头读取图像,进行二值化,将白色的赛道凸显出来选择下方的一行像素,黑色为0,白色为255找到白色值的中点目标中点与标准中…

python 字符串大小写转换 其它不变_python字符串大小写如何转换

平常开发过程中对字符串的一些操作:#字母大小写转换#首字母转大写#去除字符串中特殊字符(如:_,.,,,;),然后再把去除后的字符串连接起来#去除hello_for_our_world中的_,并且把从第一个_以后的单词首字母大写…

java读取文件夹_Java读取某个文件夹下的所有文件(支持多级文件夹)

packagecom.vocy.water.batch;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.File;public classCopyOfReadFile {publicCopyOfReadFile() {}/*** 读取某个文件夹下的所有文件(支持多级文件夹)*/public static boolean readfile(String filepat…