義大利數學家 Leonardo Bonacci,1170 年出生於比薩,人稱「比薩的李奧納多」,從 1838 年以後才被數學史家叫作費波那契(Leonardo Fibonacci),沿用至今[1]。他在 13 世紀初寫了一本給商業用的算術、代數與解題的百科全書——《計算之書》,花了很多篇幅討論國際貿易中使用不同度量衡以及幣值交易時的有效計算方法,可以說是當時的阿拉伯數字演算大師[2]。
書中提出了一個關於皮卡丘(X)兔子(O)繁殖的有趣問題,這個問題包含三個假設:
1. 小兔出生後兩個月就能長成大兔,可以生小兔。
2. 可生育的大兔子都不會累,每個月可以生一對小兔,而且剛好是雄雌各一。
3. 兔子永生不死。
如果現在有一對剛生下來的小兔子,一年之後總共會有幾對兔子?
為了讓大家更清楚,在這裡把剛生下來的兔子叫作幼年兔、一個月大還不能生育的叫作少年兔,兩個月大已具備生育能力的叫作成年兔。我用下表統整兔子的生長狀況,一個 O 代表一對兔子:
同一個月份,有幾對成年兔便會生下幼年兔,隔月這些幼年兔變成少年兔,再下一個月少年兔變成成年兔,同時生下新的一對幼年兔。不同月份兔子總對數的變化是 1, 1, 2, 3, 5, 8, 13…,看出這數列的規律了嗎?從第三個數字 2 開始,每一項的值是前兩項的和,所以接續的數字是 21, 34, 55, 89, 144, 233,一年以後總共會有 233 對兔子!這麼多兔子都要漫出來了。
而這就是有名的費波那契數列(或稱費氏數列)以及它的由來。其實費氏數列還有第 0 項,其值是 0,第 1 項是 1,從第 2 項以後的值就是前兩項的和。可以用以下的遞迴式表示:
F0=0
F1=1
Fn = Fn–1 + Fn–2 (n ≧ 2)
另外有個小插曲,文藝復興後期鼎鼎有名的天文學家克卜勒(Johannes Kepler, 1571─1630)發現,隨著費氏數列的增加,後一項除以前一項的值 1/1=1, 2/1=2, 3/2=1.5, 5/3≒1.67, 8/5=1.6, 13/8=1.625,會趨近於黃金比例 ϕ= (1+√5) /2,近似值為 1.618。
用位數根「玩」費氏數列
除了用後一項除以前一項的玩法外,在這篇文章中我想要跟大家介紹的是用「位數根」重新認識費氏數列。
位數根的概念是把一個正整數各個位數的數字加總,若其和大於 9,則再將所得數的數字再加總一次,如此反覆這個步驟直到所得新數介於 1 至 9 之間,稱此新數為原數的位數根。
在此 D(n) 表示正整數 n 的位數根,例如要計算 9527 的位數根,就把這個數字的每一個位數的數字加總,D(9527) = D(9+5+2+7) = D(23) = D(2+3) = D(5) = 5,發現其位數根為 5。而位數根也可以用來檢測一個數字是否為 3 或 9 的倍數,以 9527 為例,D(9527) 不是 9 的倍數也不是 3 的倍數,因此 9527 並非 3 或 9 的倍數。
說了這麼多,還沒講到位數根和他的快樂夥伴費波那契數列的關係呢!一起拿起筆來試算費波那契數列的位數根吧!
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169,…
快速計算位數根
看到這麼多數字已經開始暈了嗎?那先教大家一個快速計算位數根的小訣竅,看到數字有 9 或者是組合為 9 的就可以忽略那幾個位數,例如說 4181 這個數字呢,可以把中間的 1 和 8 省略不看,所以位數根 D(4181) 可以變成 1+4=5,不信的話我們可以慢慢算一遍,D(4181) = D(4+1+8+1) = D(14) = D(1+4) = D(5) = 5,答案是一樣的。
為什麼可以這樣做呢?因為一個數字加上 9 或減去 9 的倍數,其位數根不變。這概念與 9 的同餘(mod)非常類似,像是 25 除以 9 的餘數是 7,而 61 是 25 加上 9 的倍數,61 除以 9 的餘數也是 7,與這兩個數字的位數根相同。但是同餘的世界裡頭會出現 0;位數根只有 1 到 9,不會進入零的領域,例如說 144 和 270 除以 9 的餘數都是 0,可實際上 144 和 270 的位數根是 9,不是 0。
你覺得運用了小訣竅的計算速度還不夠快嗎?那就打開試算表軟體幫你進行計算吧,都長大了讓計算機和電腦幫我們計算是再正當也不過了!先在這裡偷偷透露,這串費波那契數列進行位數根運算後,新的數列也有規律性!而這個規律讀者可以藉由手動計算發現,也可以從試算表裡頭發現。不太確定要怎樣輸入公式嗎?這裡幫大家做好一個線上表格,大家可以直接點進去看結果。
這串新數列的規律性是數列會重複出現:1, 1, 2, 3, 5, 8, 4, 3, 7, 1, 8, 9, 8, 8, 7, 6, 4, 1, 5, 6, 2, 8, 1, 9,在第 25 項又回到了開頭的 1, 1, 2, 3,…,就這樣 24 個一數重複。
另外大家有沒有發現在這個線上表格中,我用來計算位數根的方式是餘數(mod)公式,但有些小修改呢?前面提過同餘可能會出現 0 的情況而位數根沒有,為了正確的位數根計算所以修正了 mod 公式。例如說要計算正整數 X 的位數根,我們可以輸入公式 mod(X-1,9)+1,也就是 (X-1) 除以 9 的餘數再加 1,如此一來前面提到計算 9 的倍數的位數根時就不會是 0 了。
大兔子與小兔子
聊完數學以後再回到一開始的大兔子和小兔子,小兔子長大變成大兔子以後,又會生下小兔子,牠們互相出題猜猜我有多愛你?小兔子把手臂張開張到不能再開,說:「我愛你這麼多」;可大兔子的手臂更長,張開一比說 :「可是小兔,我愛你有這麼多哎」。如果手臂張開畫一個圓是愛的範圍,這範圍就會和手臂的長度平方成正比。
說到平方,下回來聊聊位數根與他的第二位快樂數列夥伴,數字的自戀組合團體——乘方開方表的故事。
- 此文作者本系列文章獲得臺北市政府文化局藝文補助
參考資料
- 蘇意雯,斐波那契(Fibonacci)及其兔子,2011
- 理查.曼奇維茲,數學的故事,台北縣新店市:世潮,2004