有這樣一個數列:1、1、2、3、5、8、13、21、34……前兩個元素為1,其他元素均為前兩個元素和。在數學上以如下遞歸的方法定義:
這就是斐波那契數列的數學定義。那數學家是如何發現(或創造)出這個這個數列,它又有什么意義呢?莫著急,我們先從斐波那契的生平說起。
斐波那契是一位數學家,生于公元1170年,籍貫大概是比薩,卒于1240年后。1202年,他撰寫了《珠算原理》(Liber Abaci)一書。他是第一個研究了印度和阿拉伯數學理論的歐洲人。斐波那契數列因他解決兔子繁殖的應用題而引入,故又稱為“兔子數列”。除此之外,他對歐洲數學的另一大貢獻就是引進阿拉伯數字,從而取代了復雜的羅馬計數法。
對于程序員而言,或許它是僅次于Hello World,最常見的一道編程題。簡單易懂,多數人可以很快的明白它的定義并嘗試寫出它的編碼。但這個數列就是為了考試而生?是數學家編造出來故意玩弄程序員,還是隱藏著某個宇宙的終極奧秘,它生冷的公式下面又蘊藏著哪些數學之美。
先賣一個關子,我們先看它在現實的意義,然后再分析其中的數學原理。上面這張圖是一個樹干的簡化圖。確實像一顆樹,而且樹干也是分層的。推理能力不錯,可以去當砍樹工了。如果你還能從中看出每一層樹干個數(1,2,3,5,8,13)都是斐波那契數列中的元素,只需要早產一千年,斐波那契就只能是個砍樹工了。
也許這個例子并不充分,我們在看看大自然中最常見的美——花兒,數一數每一層花瓣的數目,是否也是斐波那契數列中的一個元素。
首先是花瓣數目最少的百合,下面是一張百合的圖片。
可以看到百合花分為2層,每層都是3個花瓣,而3確實是該數列的第四個元素。如果你覺得百合的花瓣數太少,數的不盡興,那我們再來看看菊花的花瓣數目。慢著,菊花是什么(脫口而出:一男一女一菊花)。好吧,居然也是斐波那契的第六個元素:8。
嚴肅點,人家正在討論數學問題呢,笑什么笑。看看真正的菊花是多少個花瓣,果然還是斐波那契數列的第八個元素:21。
你開始懷疑,現實世界中也許真的有一種力量,似乎對自然的美賦予了一個看不見的數學公式:斐波那契數列。那美女呢?我只喜歡看美女。好吧,作為男人,我懂i你們的需求,上妹子~
這下大家滿意了吧。腦海里面瞬間想起了王力宏那首《美》,查了一下,原來歌詞里Mei這個音重復的次數都是1,2,3,5。原來歌聲中也能發現斐波那契數列的美。可能你還納悶,美女甩頭跟斐波那契數列有什么關系?其實,在數學上,這稱為斐波那契螺旋線,比如向日葵,颶風圖,還有宇宙星云圖中都會看到類似的軌跡,而這個軌跡中隱藏著這個數列。如下圖,脖子不要拉傷。
終于你相信,自然的美,總能找到斐波那契數列的規律了,可這里面的數學原理又是什么呢?”打破砂鍋問到底”是一個好的態度。你有沒有發現,美女那么多,看多了會審美疲勞,會覺得都是一個模子出來的。而丑的話卻各有千秋?這TMD也是數學管的?恩,你可能知道我要說什么了——黃金分割。
早在古希臘,就有人發現了黃金分割,似乎在1.618這個比例是最美的,建筑物的比例,雕塑的比例,然后再到美女的比例,都在這個值的區間內。這也就解釋美女為什么看上去都差不多的原因。實際上,黃金分割和斐波那契數列本質上是一種概念的兩種外在形式。下圖是七位數的斐波那契數列,我們讓相鄰的兩個分別相除,則會發現,數字越大,這個值越接近黃金分割值。
在極限的情況下,我們認為相鄰兩個元素的商等于黃金分割值,我們假設值為△,則有如下等式:
而該數列又滿足X(n) = X(n-1) + X(n-2),我們替換X(n)后,等式轉換為:
是不是一切都明了了,我們把X(n-1)/X(n-2)記為△,則X(n-2)/X(n-1)則是它的倒數1/△,這樣,該等式就是△(黃金分割值)的一元二次方程1 + 1/△ = △:
套用二次方程公式
,我們可以得到△ =(1 + √5)/2,約等于1.618。終于,我們用數學,證明了這個美的存在和公式下的數學之美。
其實,這不是斐波那契數列的全部,數學家并不甘于到此為止,而是進一步的發現了更本質的規律,只要數列滿足X(n) = X(n-1) + X(n-2),無論前兩個值是多少,都滿足黃金分割的條件,這就是Brady Number。而斐波那契數列是最簡單的特例:前兩個元素均為1
再后來,數學家還發現了費馬大定理和這個數列的關系(費馬大定理的證明歷時三百五十年),并應用到諸多領域(比如加密)。你會發現,學習數學并不只是為了考試,雖然數學的美是隱蔽的,也是純粹的,永恒的。
如果這篇文章讓你感受到了一絲數學之美的話,我只想說,分享也是一種美:)