去九法

德國數學家萊布尼茨 (Gottfried Wilhelm von Leibniz 1646-1716)

(照片取自「The MacTutor History of Mathematics Achieve」http://www-gap.dcs.st-and.ac.uk/~history/ )

 

 

看看去九法

去九法 (Casting Out Nines) 亦有人稱作「棄九法」,這是一個古老且頗為有效的驗算方法,判斷加、減、乘三法運算後的答案是否有錯。去九法就除法而言,只在帶餘數的除法可用,而用法亦較迂迴。 此法最先源於公元三世紀天主教的主教希波呂托斯 (Hippolytus 170-236),後來德國數學家萊布尼茨 (Gottfried Wilhelm von Leibniz 1646-1716) 廣泛使用,更替此法尋找數學解釋,至此去九法廣為人傳。現在我們依賴計算機、電腦等電子工具作基礎運算,或許忽略一些由來久已的古人智慧。

 

去九法判定加、減和乘法的方法如下:

寫下數式中各數包括答案除以 9 的餘數。
   
把各數的餘數依算式運算,看看是否和答案的相同。
   
若相同,答案很大機會是正確。
   
若不同,答案肯定錯誤。

 

留意尋找除以 9 的餘數只要把該數的數字加起來,重覆至答案介乎 1 - 9 之間便可。若得答案為 9,可視之餘數為 0 。

我們亦可把各數中加起來為 9 的 數字去掉,便找得該數除以 9 的餘數。

如 123456789 = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = 45,而 4 + 5 =  9 ,故該數為 9 的倍數,即餘數為零。

我們亦可把 123456789 中的 9 刪掉,1+8 = 9 亦刪掉,同理 2+7、3+6、4+5 亦刪掉,最後所有數均刪掉,即餘數為零。

 

去九法之名便由來如此。

 

試試去九法

看看下面的例子吧:

 

例一:

1234 + 5678 + 9012 = 15924

1234 、 5678 、 9012 和 15924 除以九的餘數分別是 1、8 、3 和 3。

而 1 + 8 + 3 = 12 ,12 除以 9 餘 3 ,正和答案的餘數相同。

 

例二:

789 - 456 - 123 = 210

789 、 456 、 123 和 210  除以九的餘數分別是 6、6 、6 和 3。

而 6 - 6 - 6 = -6,9 - 6 即 3 ,正和答案的餘數相同。

 

例三:

1974 * 4 * 23 = 181608

1974 、 4 、 23 和 181608 除以九的餘數分別是 3 、 4 、5 和 6

而 3 * 4 * 5 = 60 ,60 除以 9 餘 6 ,正和答案的餘數相同。

 

除法無所逃

 

而除法的判斷方法相若,但由於回避除以零的問題,所以我們在驗算運算時是把商值乘上除數加上餘數,看看是否等同被除數而作判斷。這正是高中時所學的除數算法 (Division Algorithm) 。

 

例四:

314165 / 17 =  18480 餘 5 即得 18480 * 17 + 5 = 314165

314165、17、18480 和 5 除以 9 的餘數分別是 2 、 8 、3 和 5。

3 * 8 + 5 = 29 除以 9 餘 2 ,兩邊相同。

 

又看例五:

2718281828 / 198 = 13728696 餘 20 即得 13728696 * 198 + 20 = 2718281828

2718271828、198、13728696 和 20 除以 9 的餘數分別是 2 、 0 、4 和 2。

4 * 0 + 2 = 2 ,兩邊相同。

 

說說去九法

 

去九法的原理是找出各數除以 9 的餘數,即在模九下作計算。其實數式左右兩方若是相等,在不同的模 (Moduleo) 下也會相等。而模九的值,我們較易求得,之所以去九法如此常用。

記著所有驗算方法,不獨去九法,也有一個缺點。那便是我們只可驗錯不可驗正,即不乎合驗算法的肯定是錯,乎合的不一定是對。原因是我們在驗算是簡法了計算,把一些相同餘數的數值混為一談。如 12000 * 9 = 108 ,左式的餘數為 3 * 0 = 0,正合右式的餘數,然而我們一看便知答案是錯的了,應為 12 * 9 = 108 或 12000 * 9 = 108000。上例正是把兩個相同餘數的數,即 12 跟 12000 或 108 跟 108000 混在一起之所以。

 

參考文獻及網址

Wikipedia. "Casting Out Nines." From Wikipedia. http://en.wikipedia.org/wiki/Casting_out_nines.