歡迎光臨本網頁。在這個網頁中,你可以學習到「無限循環小數」的概念。你亦可用本人編寫的應用程式做有關無限循環小數的「數學實驗」。
從小學低年班開始我們便學習分數和小數(這裡指有限位小數),並且認識到兩者之間可以互相轉換。把分數轉換成小數實際上就是做除法。我們在小學學習除法時,很早便發現做除法可能有兩種結果,有些如10/4在小數點後若干位便「除得盡」,有些則如10/3是永遠「除不盡」的。我們也認識到,某些分數即使除不盡,它們也可能表現為一個無限循環小數,例如10/3=3.333...(註1)。其實,如果我們把「除得盡」的分數也看成是無限循環小數(例如10/2=5.000...),那麼我們可以把所有「規則」的分數都歸為無限循環小數。接下來我們要問,是否存在「不規則」的分數,即是否存在不能表達為無限循環小數的分數呢?
在小學我們都學過圓周率π可以取22/7這個分數作為近似值。那麼22/7是否無限循環小數呢?假如我們用普通的計算機算一下,發現22/7的近似結果是3.142857,似乎不循環。那麼22/7是否就是一個「不規則」分數呢?答案是否定的。其實,如果我們有足夠的耐性,把22/7繼續算下去,我們便會發現這個分數從小數點後第7位便開始循環。這即是說,22/7實際是一個無限循環小數:
如果我們細心觀察一下22/7的演算過程,我們便會明白為何這分數必然是循環的。在計算22/7的第一步驟中,我們先得商3和餘數1。接著我們把餘數1倍大為10,然後計算10/7,得商1和餘數3。接著我們把餘數3倍大為30,然後計算30/7,得商4和餘數2。接著我們又把餘數2倍大為20,然後計算20/7......如此類推。因此,在計算22/7時,我們實際上是在不斷做10/7或20/7或30/7...。可是,由於任何數除以7所得的餘數只有7種可能(即0、1、2、3、4、5和6)(註2),這樣下去必然會重複出現之前的計算。當出現重複時,接著下來的計算便會跟之前做過的計算一模一樣,因而出現循環小數的情況。例如,在22/7的運算中,當計算至小數點後第6位時,得商7和餘數1,接著我們把餘數1倍大為10,然後計算10/7,但是此一計算在之前已做過,接下來的計算結果必然是142857,因此22/7必然是不斷重複出現142857這組數字的循環小數。
把上述討論推廣至一般情況,那麼由於任何整數除以整數n,其餘數只有n種可能(即0、1、2...、n - 1),因此在進行任何整數除法時,在運算至某一階段時,必然會重複出現之前做過的運算,這時就必定重複出現之前的計算結果,即無限循環小數。換句話說,任何分數(在高等數學中稱為「有理數」Rational Number)都必然是無限循環小數。
根據上段討論,我們還可推算出,任何整數除以整數n,最遲至小數點後第n位便必定會開始出現循環。例如在22/7的運算中,其結果便在小數點後第7位開始出現循環。不過,n只是一個上限(即最差情況),並非所有除法結果都會出現此「最差」情況。例如1/3的結果在小數點後第2位便開始出現循環。
上述討論雖然只局限於整數除法,但其實也適用於涉及小數的除法,因為涉及小數的除法可以轉化為整數除法。以12.5/1.05為例,只要我們把分子分母同時乘大100倍,得1250/105,其結果跟原來的除法相同。
筆者用Flash編寫了一個應用程式,讓瀏覽者做一個數學實驗,以驗證上述討論。使用者輸入兩個正整數後,程式便會計算這兩個數相除的結果,計算進行至小數點後第1500位(使用者可用兩個向上向下鈕捲動計算結果)。由於本程式限制使用者輸入的除數不得大於999,所以即使出現上述的「最差」情況,使用者也應能看到計算結果從小數點後哪一位開始出現循環。不過,在某些情況下,要看出小數點後哪一位開始出現循環有時也頗費神。各位可不妨試試讓本程式算999/998,看看你是否看得出小數點後哪一位開始出現循環,以及循環數字包含哪些數字?如果沒有上述的知識或這個程式,相信大多數人都會認為這個小數是不循環的。
請點擊以下連結開啟應用程式,該程式包含「使用說明」,瀏覽者只需依照說明上的指示便可使用該程式,請選擇適合你電腦的程式。
給定一個無限循環小數,我們是否能把它化為分數呢?其實方法也很簡單,其關鍵在於利用「無限循環」這一點。例如,給定小數0.272727...,如何把它化為分數呢?我們可以先把它寫成
由於這個小數包含兩個循環數字,我們把它乘以100:
接著用(2)減(1),利用無限循環的特點,把小數點後的數字全部去掉,得
接著把(3)化簡,得
當循環數字並非包括小數點後所有數字時,我們便需要多一點工夫。例如要把小數0.11345345...化為分數,可以這樣做:
利用上述方法,我們還可以獲得某些意想不到的結果。試把0.99...化為分數:
於是,我們得到1的無限循環小數表達式除了是1.00...外,還可以是0.99...。事實上,我們可以證明,凡是「除得盡」的分數,除可表達為以無限個0結尾的循環小數外,還可表達為以無限個9結尾的循環小數。
在以上的討論中,我們在有理數(即分數)與無限循環小數間建立了一一對應關係。接著下來,我們要問,是否存在無限不循環小數?答案是肯定的,而且我們可以很容易地構造這樣的小數。例如以下的小數便是無限不循環的:
除了這些「人為」構造的數外,在中學我們還會學到很多這樣的數,稱為「無理數」(Irrational Number)(註3)。例如,可以證明2的平方根、3的平方根、圓周率π、自然數底e等等都是無理數。事實上,從「集合論」(Set Theory)我們得知無理數的數目比有理數的數目多得多(註4)。不過由於本網頁的主旨是有理數,筆者不在此討論這些問題了。