兔子生兔子, 斐波那契生出斐氏数列 — 位数根的快乐伙伴(一)
原文: pansci.asia/archives/111546
已获作者本人授权, [遇见数学] 在此特别感谢!
关于作者 Shark
台湾人,本名林家妤,泛科学专栏作者。在国二无聊的早自习意外发现数学的趣味,因此近来体验到数学研究,艺术创作,采访写作,策划展览的工作与生活。不是念数学也不是学 艺术,但乐于从多元视角聊聊数学的各种姿态,以及进行数学艺术创作,希望能为世界带来一点乐趣,联络信箱sharkgallium@gmail.com
意大利数学家 Leonardo Bonacci,1170 年出生于比萨,人称「比萨的李奥纳多」,从1838 年以后才被数学史家叫作斐波那契(Leonardo Fibonacci),沿用至今[1]。他在13 世纪初写了一本给商业用的算术、代数与解题的百科全书——《计算之书》,花了很多篇幅讨论国际贸易中使用不同度量衡以及币值交易时的有效计算方法,可以说是当时的阿拉伯数字演算大师[2]。
人称「比萨的李奥纳多」的费那波契。图/wiki
书中提出了一个关于兔子(O)繁殖的有趣问题,这个问题包含三个假设:
1. 小兔出生后两个月就能长成大兔,可以生小兔。
2. 可生育的大兔子都不会累,每个月可以生一对小兔,而且刚好是雄雌各一。
3. 兔子永生不死。
如果现在有一对刚生下来的小兔子,一年之后总共会有几对兔子?
为了让大家更清楚,在这里把刚生下来的兔子叫作幼年兔、一个月大还不能生育的叫作少年兔,两个月大已具备生育能力的叫作成年兔。我用下表统整兔子的生长状况,一个O 代表一对兔子:
同一个月份,有几对成年兔便会生下幼年兔,隔月这些幼年兔变成少年兔,再下一个月少年兔变成成年兔,同时生下新的一对幼年兔。不同月份兔子总对数的变化是1, 1, 2, 3, 5, 8, 13…,看出这数列的规律了吗?从第三个数字2 开始,每一项的值是前两项的和,所以接续的数字是21, 34, 55, 89, 144, 233,一年以后总共会有233 对兔子!这么多兔子都要漫出来了。
照费波那契的假设,不用一年兔子的数量就已经多到满出来啦!图/Or Hiltch @ Flickr
而这就是有名的斐波那契数列(或称斐氏数列)以及它的由来。其实费氏数列还有第0项,其值是0,第1项是1,从第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 。
用位数根「玩」斐波那契数列
除了用后一项除以前一项的玩法外,在这篇文章中我想要跟大家介绍的是用「位数根」(数根, Digital root)重新认识斐波那契数列。
位数根的概念是把一个正整数各个位数的数字加总,若其和大于 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。
你觉得运用了小诀窍的计算速度还不够快吗?那就打开试算表软体帮你进行计算吧,都长大了让计算机和电脑帮我们计算是再正当也不过了!先在这里偷偷透露,这串费波那契数列进行位数根运算后,新的数列也有规律性!而这个规律读者可以藉由手动计算发现,也可以从试算表里头发现。不太确定要怎样输入公式吗?这里帮大家做好一个线上表格(http://t.cn/RTnCVSa),大家可以直接点进去看结果。
这串新数列的规律性是数列会重复出现: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了。
大兔子与小兔子
聊完数学以后再回到一开始的大兔子和小兔子,小兔子长大变成大兔子以后,又会生下小兔子,它们互相出题猜猜我有多爱你?小兔子把手臂张开张到不能再开,说:「我爱你这么多」;可大兔子的手臂更长,张开一比说:「可是小兔,我爱你有这么多哎」。如果手臂张开画一个圆是爱的范围,这范围就会和手臂的长度平方成正比。
《猜猜我有多爱你》书封。图/Amazon
说到平方,下回来聊聊位数根与他的第二位快乐数列伙伴,数字的自恋组合团体——乘方开方表的故事。
参考资料:
● 苏意雯,斐波那契(Fibonacci)及其兔子,2011
● 理查.曼奇维兹,数学的故事,台北县新店市:世潮,2004
遇见数学, 遇见更精彩的自己
转发即鼓励继续前行, 感谢!