zoukankan      html  css  js  c++  java
  • 斐波那契数列之美

    968991-6587c6ede884696b

     

           有这样一个数列:1、1、2、3、5、8、13、21、34……前两个元素为1,其他元素均为前两个元素和。在数学上以如下递归的方法定义:

     

    968991-8cf322d9d57dfbca

     

           这就是斐波那契数列的数学定义。那数学家是如何发现(或创造)出这个这个数列,它又有什么意义呢?莫着急,我们先从斐波那契的生平说起。

           斐波那契是一位数学家,生于公元1170年,籍贯大概是比萨,卒于1240年后。1202年,他撰写了《珠算原理》(Liber Abaci)一书。他是第一个研究了印度和阿拉伯数学理论的欧洲人。斐波那契数列因他解决兔子繁殖的应用题而引入,故又称为“兔子数列”。除此之外,他对欧洲数学的另一大贡献就是引进阿拉伯数字,从而取代了复杂的罗马计数法。

     

    968991-fe0681a5e8587546

     

           对于程序员而言,或许它是仅次于Hello World,最常见的一道编程题。简单易懂,多数人可以很快的明白它的定义并尝试写出它的编码。但这个数列就是为了考试而生?是数学家编造出来故意玩弄程序员,还是隐藏着某个宇宙的终极奥秘,它生冷的公式下面又蕴藏着哪些数学之美。

     

    968991-1dcfb2ee27c768c9

     

           先卖一个关子,我们先看它在现实的意义,然后再分析其中的数学原理。上面这张图是一个树干的简化图。确实像一颗树,而且树干也是分层的。推理能力不错,可以去当砍树工了。如果你还能从中看出每一层树干个数(1,2,3,5,8,13)都是斐波那契数列中的元素,只需要早产一千年,斐波那契就只能是个砍树工了。

           也许这个例子并不充分,我们在看看大自然中最常见的美——花儿,数一数每一层花瓣的数目,是否也是斐波那契数列中的一个元素。

           首先是花瓣数目最少的百合,下面是一张百合的图片。

     

     968991-6415f7a30f1341bc

     

           可以看到百合花分为2层,每层都是3个花瓣,而3确实是该数列的第四个元素。如果你觉得百合的花瓣数太少,数的不尽兴,那我们再来看看菊花的花瓣数目。慢着,菊花是什么(脱口而出:一男一女一菊花)。好吧,居然也是斐波那契的第六个元素:8。

     

     968991-81ef8c066f053ecb

     

           严肃点,人家正在讨论数学问题呢,笑什么笑。看看真正的菊花是多少个花瓣,果然还是斐波那契数列的第八个元素:21。

     

    968991-cb009f9c1bacd734

     

           你开始怀疑,现实世界中也许真的有一种力量,似乎对自然的美赋予了一个看不见的数学公式:斐波那契数列。那美女呢?我只喜歡看美女。好吧,作为男人,我懂的,上妹子~

     

    968991-7d8a9ca8fd850e8e

     

           这下大家满意了吧。脑海里面瞬间想起了王力宏那首《美》,查了一下,原来歌词里Mei这个音重复的次数都是1,2,3,5。原来歌声中也能发现斐波那契数列的美。可能你还纳闷,美女甩头跟斐波那契数列有什么关系?其实,在数学上,这称为斐波那契螺旋线,比如向日葵,飓风图,还有宇宙星云图中都会看到类似的轨迹,而这个轨迹中隐藏着这个数列。如下图,脖子不要拉伤。  

     968991-4f4461c8386b464a

     

           有没有脑洞大开的节奏,仿佛主赐予了你一双慧眼,你顿时觉得,无论是自然界中的美,还是人类文明所造就的美,总会发现斐波那契之美的蛛丝马迹,下面这两幅名画,相信每个人都看已经看过很多次了。揉揉眼睛,保持正确的解读姿势,开启血轮眼模式再看一遍。如果下次看到任何美的事物而不由自主的浮现出斐波那契螺旋线时,恭喜你中毒了……

     

    无标题

     

           终于你相信,万物之美,总能找到斐波那契数列的规律了,可这里面的数学原理又是什么呢?”打破砂锅问到底”是一个好的态度。你有没有发现,美女那么多,看多了会审美疲劳,会觉得都是一个模子出来的。而丑的话却各有千秋?这TMD也是数学管的?恩,你可能知道我要说什么了——黄金分割。

           早在古希腊,就有人发现了黄金分割,似乎在1.618这个比例是最美的,建筑物的比例,雕塑的比例,然后再到美女的比例,都在这个值的区间内。这也就解释美女为什么看上去都差不多的原因。实际上,黄金分割和斐波那契数列本质上是一种概念的两种外在形式。下图是七位数的斐波那契数列,我们让相邻的两个分别相除,则会发现,数字越大,这个值越接近黄金分割值。

     968991-c77d5b8ecd095463

     

           下面通过简单数学公式,证明斐波那契数列和黄金分割之间的内在关联。在极限的情况下,我们认为相邻两个元素的商等于黄金分割值,我们假设值为△,则有如下等式:  

     968991-0ac0e1cf49f9f542

     

           而该数列又满足X(n) = X(n-1) + X(n-2),我们替换X(n)后,等式转换为:

     968991-8c755168128d80ea

     

           是不是一切都明了了,我们把X(n-1)/X(n-2)记为△,则X(n-2)/X(n-1)则是它的倒数1/△,这样,该等式就是△(黄金分割值)的一元二次方程1 + 1/△ = △:

     968991-0d1d663fb9f246fb

     

           套用二次方程公式,我们可以得到△ =(1 + √5)/2,约等于1.618。终于,我们用数学,证明了这个美的存在和公式下的数学之美。

     

    QQ截图20161019093900

     

           其实,这不是斐波那契数列的全部,数学家并不甘于到此为止,而是进一步的发现了更本质的规律,只要数列满足X(n) = X(n-1) + X(n-2),无论前两个值是多少,都满足黄金分割的条件,这就是Brady Number。而斐波那契数列是最简单的特例:前两个元素均为1

           再后来,数学家还发现了费马大定理和这个数列的关系(费马大定理的证明历时三百五十年),并应用到诸多领域(比如加密)。你会发现,学习数学并不只是为了考试,而在于让你拥有一双纯粹的,永恒的眼睛,让你看到看不见的美。

  • 相关阅读:
    Windows系统CMD窗口下,MySQL建库、还原数据库命令操作示例
    Java JPA 报java.lang.IllegalArgumentException: Validation failed for query for method public abstract ...异常的一种原因和解决办法
    MySQL 5.7 执行SQL报错:1055
    Java8使用实现Runnable接口方式创建新线程的方法
    模板方法模式
    策略模式
    观察者模式
    装饰器模式
    原型模式
    单例模式
  • 原文地址:https://www.cnblogs.com/fuckgiser/p/5976221.html
Copyright © 2011-2022 走看看