不久前才在朋友的叭啦上,看到一個不少人都見過的數學問題:請問0.99...=1嗎?這裡的0.99...後面是
無窮小數,並沒有停止的一天。乍看之下,很多人會認為左邊的小數比1小,再怎麼樣都會少個0.00...01,怎麼會是等號?
然而,事實上0.99...=1卻是數學家們認為千真萬確的式子。今天的伍德說數,我們就從這個式子談起,和大家聊聊數學家是怎麼看待無限的。
一、芝諾(Zeno)悖論
各位不論是走路、坐車或自己開車,有被超車的經驗嗎?雖然被超車實在讓人有點不爽,但這再自然也不過的日常,卻暗藏著古希臘人對0.99...=1問題的初步探索。
芝諾(Zeno)是約西元前五世紀的古希臘哲學家,向來以關於運動和無限的各種哲學悖論為眾人所知。他最有名的故事是宣稱希臘戰士阿基里斯(Achilles)*1雖看似戰無不克,卻可能連一隻烏龜都追不上。
故事是這樣的,假設烏龜在阿基里斯前方一段距離悠哉地爬著,而阿基里斯想追上牠。當阿基里斯跑到烏龜原本所在的位置後,烏龜又會往前爬了一段距離,因此阿基里斯必須多跑一小段距離。當阿基里斯跑完那一小段距離後,烏龜又會往前爬,所以阿基里斯又不得不多跑。重複這段過程,當阿基里斯追上原先烏龜所在的位置時,烏龜都會往前多了一小段距離,所以阿基里斯是不可能追上烏龜的──你相信嗎?
當然,就像本段一開始問的一樣,要是這段說明是對的,這世界上就不會有超車了。那麼問題出在哪呢?我們用實際數字來算算看。假設烏龜在阿基里斯前方9m,烏龜的速度為每秒一公尺(1 m/s),而阿基里斯的速度為每秒十公尺(10 m/s),那阿基里斯要花多久時間才追得上烏龜呢?
國一數學也有類似的問題。我們假設阿基里斯得花x秒才能追上,則阿基里斯在這段時間跑了10x公尺;烏龜則跑(?)了x公尺,而由於原先烏龜在阿基里斯前方9公尺,我們能得知10x=x+9。解出來x=1。也就是說,阿基里斯花一秒鐘就超車了。
照芝諾的算法呢?這9公尺,阿基里斯需要花9/10=0.9秒來追。而在這0.9秒間,烏龜跑了0.9公尺,這0.9公尺阿基里斯需要0.9/10=0.09秒來追。在這0.09秒間,烏龜又跑了0.09公尺,所以阿基里斯需要0.009秒追上。重複這種計算,阿基里斯能夠「追上」烏龜的時間應該是0.9+0.09+0.009+...=0.99...秒。注意這裡小數點後面是無窮位數。
在這裡,我們第一次看見了1=0.99...。
二、難分難捨的1和0.99...
關於1和0.99...間相等的「證明」*2還有不少,我們再給出兩個。
各位如果會除法,應該能接受1/3=0.33...吧?後面的位數怎麼除也除不盡。而將這等式兩邊都乘以3,是不是就變成1=0.99...了呢?
另一個許多人看過的證明,是假設S=0.99...=0.9+0.09+0.009+...,而將兩邊乘以十。
10S=9+0.9+0.09+...
- 1S= 0.9+0.09+...
→ 9S=9
因此S=1。
相信很多人即使看到這裡,還是心裡有個疙瘩:不是再怎麼樣都還差個0.00...01嗎?它們真的相等嗎?
這兩個數之所以會相等,就在於本文一直強調的「無限」。0.99...後面有無窮多位數,可謂天長地久有時盡,此數綿綿無絕期。現今的數學家看待無限,並不是將其視為一個數,而是一個概念。所謂的無限大,就是「比我們想的任何數都要大」。所謂的無限位數,就是「比我們想的任何位數還要多」。當我們說1和0.99...差了0.00...01,中間可能有一萬個零,但明明0.99...後面有無限多位數,到了一百萬位都還是9,所以差不會是0.00...01,中間一萬個零。
那麼一萬個零不夠,你有沒有試過兩萬,或一億個零呢?無窮的妙處(或難處)就在這裡。上面的說法換成更大的數字一樣通用,0.99...後面的9長到幾個零都不夠。當你說出一個有限的,大於零的差,我就能引用這個說法,指證你說的0.00...01這個差太大了。
相信讀者也同意,1-0.99...不會是負數,但任何正數的差都又太大了──小,還要更小(拜託不要噓我)!夾擊之下,這兩數的差距就只能是0了*3。也就是說,0.99...=1。這是因為無窮小數的無窮導致的,要是它在某處停下來,差距確實就是個正數。所以說,不要停下來啊!(希望之花.mp4)
從上面的例子中,我們發現一些無窮級數相加後會收斂。這裡不是指近似值,它們確確實實地相等於某些數。當後續加上來的項越來越小,小的速度也夠快*4,級數就會收斂。
三、青年康托(Cantor)的憂鬱
我相信很多人還是懵懵懂懂的。事實上即使是數學家也是花了好幾個世紀才摸清楚無限是怎麼回事,其中也有不少質疑的聲浪。
這裡我們談個有點相關,但不那麼直接相關的問題。德國數學家康托(Cantor;1845-1918)為了探討連續統假設(Continuum Hypothesis;CH)*5,考慮了下面的「康托集」(Cantor Set)。它的作法是這樣:
(1) 取[0,1]線段( [ ] 表示含兩端),把中間的三分之一拿掉(也就是說,拿掉(1/3,2/3),小括號表示不含端點)。如此便剩下[0,1/3]和[2/3,1]。
(2) 剩下兩段中,各自再把中間的三分之一拿掉,會剩下[0,1/9],[2/9,3/9],[6/9,7/9],[8/9,1]。
(3) 重複這個動作無限多次。剩下沒被挖掉的部分就是康托集(Cantor Set)。
我相信說這麼多大家有點暈,直接看圖比較快。(以下圖取自維基百科)
那麼康托集的「長度」多長呢?我們在第一步挖掉了1/3,在第二步挖掉了2/9,重複下去,總共挖掉了S=1/3+2/9+...。
S=1/3+2/9+...
2S/3= 2/9+....
→ S/3=1/3
因此S=1。我們挖掉了長度為1的部分,剩下那些屑屑(康托集)長度為0。
注意,雖然「長度」*6為0,但康托集裡面是有東西的,像是0,1/3,2/3,1這些點都還在裡面,不會被挖掉。事實上,康托集蘊藏著太多有趣的內容,在大二分析導論中是最重要的集合之一。可惜的是,其對於康托原先想「解決」的連續統假設並沒有幫助*7,而康托本人晚年也飽受躁鬱症所苦。
四、結論
關於0.99...和1間的關係,一直是中學數學中很迷人的問題。它似乎有那麼點反直覺,但「證明」卻又那麼直接有力,讓人無從反駁。經過多個世紀,數學家慢慢想清楚無限究竟是什麼,從而建構我們使用的實數和現代數學。
儘管難懂,現代的數學可謂以弄清楚無限為濫觴。關於無限還有相當多可以談的內容,下一期的伍德說數我們就來談談無限的「大小」──是的,有比較少的無限,和比較多的無限。
「我的無限,是能突破無限的無限!」(要素過多)
那麼我是伍德‧瓦懷特,我們下期伍德說數見!
*1. 荷馬史詩中,阿基里斯誕生時,其母曾經將其全身浸泡至冥河中,因而獲得刀槍不入的能力。然而作為施力點的後腳跟也因此成為其唯一的弱點。這也是各位腳後跟那條「阿基里斯腱」的名稱由來。
*2. 我用引號括起來,表示這不是嚴謹的證明。
*3. 這裡用高中數學的術語,我們使用了「實數的稠密性」。用大二分析導論的術語,我們使用夾擠定理(Squeeze Theorem),實際上是「實數的完備性」(Completeness)在背後幫我們撐腰。實數建構下,任何的實數,包含有理數、無理數都能看成是有理數列的趨近值(柯西的看法)。
*4. 不夠快的例子:1+1/2+1/3+1/4+...,這個和的結果是無限大。證明其實相當簡單(12世紀就有了),但今天談太多了,我們以後有時間再談吧。
*5. 一樣由於篇幅太多,我們之後再談。
*6. 更精確的詞是「測度」(Measure)。