《好學的C++》“小知識”選摘(二):斐波那契是何許人也
編者注:這是在講授用C++實現斐波那契數列時穿插介紹的“小知識”。
斐波那契其實並不是斐波那契數列的發明人,但我們還是應該為計算機而感謝他。是他把十進位制數字帶到了歐洲,而假如我們沒有掌握十進位制系統,我們就無法理解二進位制數字。沒有二進位制數字,就不會有計算機。 這位老兄的真實姓名其實是Leonardo Bonacci,他的外號叫作“son of Bonacci”(Bonacci之子) ——用義大利語來說就是“Fibonacci”(斐波那契)。他出生於1170年,被人們認為是中世紀最偉大的歐洲數學家之一。
他最著名的著作Liber Abaci(意思是“計算之書”)把由印度人最先發明,但被阿拉伯人廣泛使用(“阿拉伯數字”正是因此而得名)的十進位制計數系統引進到了歐洲。那本書還把古印度數學家在公元6世紀裡提出並解決的一個難題引進到歐洲:能不能用一組數字來描述一對兔子在沒有飢餓和天敵的理想環境中的繁殖生長情況?古印度數學家給出的答案是這樣一組數字:1、1、2、3、5、8、13,等等,這組數字後來在西方被稱為“斐波那契數列”。
古印度數學家有沒有發現隱藏在這個貌似簡單的數字序列裡的自然奧祕呢?後人的研究表明,這個數列裡的任意兩個連續出現的數字的比值越來越趨近於一個充滿神奇色彩的數值1.618 ,古希臘人稱之為“黃金分割律”。古代希臘的帕薩農神廟就是按照這個比率設計的,從那時算起2000年以後,大畫家達芬奇著名的“維特魯威人”又揭示出黃金分割率與人體各部份的比值有多麼的匹配:腿部與軀幹的比值,軀幹與整個身體的比值等都差不多是這個數字。
既然有如此之多的自然現象與黃金分割率相暗合,它是否意味著有什麼人正想告訴我們什麼事情呢?我們現在只能確認這樣一個事實:大自然裡確實存在著一些符合數學規律的東西。
相關文章
- 博弈學習 (二) 斐波那契博弈
- 斐波那契數
- 斐波那契數(C/C++,Scheme)C++Scheme
- 斐波那契查詢
- 斐波那契數列
- 斐波那契數列(Java)Java
- 《好學的C++》“小知識”選摘(一):計算機是如何翻譯程式的C++計算機
- 斐波那契查詢不再迷惑
- 斐波那契數列 (C#)C#
- PHP 與斐波那契數列PHP
- 斐波那契數列詳解
- Leedcode-斐波那契數
- 《好學的C++》“小知識”選摘(三):OOP值得我們去學習嗎C++OOP
- js實現斐波那契數列JS
- 斐波那契數列js 實現JS
- 斐波那契數列演算法演算法
- 斐波那契數列Ⅳ【矩陣乘法】矩陣
- 演算法 - 斐波那契 - javascript 版演算法JavaScript
- python for迴圈和斐波那契Python
- 斐波那契數列的分治法計算
- 斐波那契數列的python實現Python
- 演算法(1)斐波那契數列演算法
- 斐波那契問題和擴充套件套件
- 從斐波那契到矩陣快速冪矩陣
- 博弈論入門之斐波那契博弈
- 高效率JAVA實現斐波那契Java
- 面試題9-斐波那契數列面試題
- [C103] 斐波那契數列
- 計算斐波那契數列的演算法演算法
- 大數斐波那契數列的演算法演算法
- 使用Python實現斐波那契數列Python
- JavaScript 實現:輸出斐波那契數列JavaScript
- js迭代器實現斐波那契數列JS
- LeetCode-509-斐波那契數LeetCode
- 演算法一:斐波那契阿數列演算法
- fibonacci斐波那契數列詳解 遞迴求Fn非遞迴求Fn求n最近的斐波那契數遞迴
- 面試:老師講的遞迴解決斐波那契數列真的好嗎面試遞迴
- HDU 4549 M斐波那契數列(矩陣快速冪+費馬小定理)矩陣