倒水遊戲中的數學

文/李源順

 前言


數學益智遊戲偶爾也會出現在電影的情節之中,成為大家茶餘飯後的討論議題。1995年上映的電影「終極警探3」當中有一段情節,恐怖分子提出智力考驗的問題要求布魯斯威利解答出來,否則炸彈就會爆炸。當中的智力考驗問題是「有一個3加侖和一個5加侖的水桶,它們都沒有刻度,因此只知道裝滿是3加侖和5加侖。問要怎樣才能量出4加侖的水?」。作者搜尋網路發現有些網友不知道如何解答這個問題,因此特別撰寫本文,把其中數學教育希望培養學生的能力呈現出來讓大家知曉,希望老師/家長也能培養學生帶得走的能力。

有關這類的分水(或倒水)遊戲,尤怪之家的主人巫光楨曾經用Flash寫了一個可以在windows上執行的app(註1),可惜現在不能直接在電腦上執行,必需先下載執行Flash的程式(註2)才能打開來玩它。

這個遊戲在android的手機也有簡單的app(註3)可以執行。有興趣的家長、學生可以下載來玩看看。

 壹、沒有目的的玩→有邏輯的玩


作者發現有些學生在玩這類遊戲的時候,都是沒有目的、隨機的在玩,可能玩一陣子之後發現剛好把答案找出來了。雖然學生有興趣玩,只要他能把答案出來,也很不錯;但是這不是數學教育的目的,數學教育的目的至少希望學生在玩的過程中,能有系統性、有規律的玩、能留意數字間的關係,進而找到它的邏輯規律。數學教育希望學生能養成這樣的學習習性,使得學生將來面對任何問題時,都能自動自發的去留意事物之間、數字間的關係,進而找到解答問題的方法。

為了節省篇幅,我們僅以一個例子:「有A、B二個空水桶,它們都沒有刻度,只知道裝滿分別是9公升和15公升。想要量出12公升的水,要如何倒水呢?」來說明。

首先作者希望學生都能了解到,有一些遊戲在玩的時候,每一次都是只有有限多種可能的方法,同時可能的方法不會愈變愈多。面對這樣的問題,每一次只要做一些邏輯的判斷,再留意數字間的規律;自己在玩的過程中,就會找到它的規則和方法,就不會毫無目的的玩。

因為倒水問題只有A、B二個空水桶,因此我們要裝倒水時,第一次共有二種方法,不是把9公升的A水桶裝滿,就是把15公升的B水桶裝滿。從對稱的角度,第一次要裝滿那一個水桶其實都相同,因此我們假設先開啟水龍頭裝滿9公升的A水桶,此時A=9、B=0。因為水桶沒有刻度,沒有裝滿就不知道水有多少公升,因此在裝時,就要裝滿它。

第二次只有三種方法:因為A己經裝滿了,因此(1)只能把A中的水倒空;因為B是空的,因此可以(2)開啟水龍頭把B水桶裝滿、或者(3)把A中9公升的水倒入B水桶中。相信學生一看就會知道不要做前面二項動作,因為把A中的水倒空就變成一開始的A=0、B=0;把B水桶裝滿就變成A=9、B=15,再來一定要清空其中一個水桶,等於在做白工。因此最後剩下第三種方法,把A中9公升的水倒入B水桶中,此時A=0、B=9,雖然B沒有裝滿,但我們確信它是9公升。當然,也不能把A倒一部份的水到B桶,因為此時不知道A、B分別有多少公升。

第三次又有幾種裝水的方法呢?相信學生一定想到只有四種方法:因為A是空的,因此(1)開啟水龍頭把A裝滿,或者(2)把B倒回A中;因為B還沒裝滿,因此(3)開啟水龍頭把B裝滿,或者(4)把B清空。稍微推理一下,相信學生不會做後三種方法,因為把B倒回A中就回到原來的A=9、B=0;把B裝滿就變成A=0、B=15,等於回到第一次,只是裝滿B水桶而已;把B清空就變成A=0、B=0,又回到最開始的情形。因此第三次就是要把A裝滿,變成A=9、B=9。

第四次呢?也是一樣的推理方法,(1)若把A清空,變成A=0、B=9,(2)若把B清空,變成A=9、B=0,(3)若開啟水龍頭把B裝滿,變成A=9、B=15;都會回來原到某一種情形。因此,剩下的就是(4)把A倒到B中,變成B=15=9+6、A=9-6=3。

第五次和上面的推理一樣,(1)若開啟水龍頭把A裝滿,變成A=9、B=15,(2)若把A倒空,變成A=0、B=15,(3)若把B倒回A,變成A=9、B=9;都會回到原來某一種情形。因此,只能(4)把B倒空,變成A=3、B=0。

第六次,(1)若開啟水龍頭把A裝滿,變成A=9、B=0,(2)若把A倒空,變成A=0、B=0,(3)若開啟水龍頭把B裝滿,變成A=3、B=15;都是又回到先前的情形;因此只能(4)把A倒入B中,變成A=0、B=3。

第七次,作者不再把不行的方法寫出來,請學生自行判斷哪些方法不行。假如你能想到哪些不可以的方法,你的推理能力已經慢慢在增強了。再來,只能開啟水龍頭把A裝滿,變成A=9、B=3。第八次把A倒到B中,變成A=0、B=3+9=12。發現我們已經倒出12公升的水出來了。


圖1. 倒水遊戲的步驟圖示

 貳、多玩幾次發現規律


有興趣的學生可以下載上面所說的app來玩一玩,也可以自行出題目,用紙和筆寫下數字來玩;再從其中發現玩法的規律。假如你在玩的過程中,沒有注意數字的變化,你很容易就會一直出現重覆的數字,以致感覺無法完成,沒完沒了。假如你記憶數字的變化有困難,你可以拿出紙和筆,把出現過的數字寫下來,這樣就比較不會出現重覆的數字,就比較能快速的過關。

在玩的過程中,你是否發現到它的規律?若你沒有發現到,就再多玩幾次。最後你會發現,假如你一開始是把水倒入A,再來一定是把A的水倒入B中;等到A空了,再把A裝滿;而B呢,它是等到B滿了,再把B清空。因此反過來也可以,也就是先把B滿,再把B倒入A中,同時等B空了再裝滿,等A滿了再清空。如此循環下去,就不會現重覆的數字,就可以順利把它解答出來。上面的例子,它的步驟便是(1)裝滿B,A=0、B=15,(2)把B倒滿A,A=9、B=15-9=6,(3)清空A,A=0、B=6,(4)把B倒到A中,A=6、B=0,(5)裝滿B,A=6、B=15,(6)把B倒滿A,A=6+3=9、B=15-3=12,(7)清空A,A=0、B=12(圖二)。

當我們得到這樣的規律,你可以很快的解出水問題的答案。


圖2. 倒水問題的另一種作法步驟

 參、更一層的思考數字間的關係


假如你的數感好一點,上面的例子或許你馬上會發現倒出來的數字是9、3、15、12,或是15、9、6、12,它們都是3的倍數。

假如你再多玩一點類似的問題,你可能會發現當A、B水桶分別裝滿a、b公升的水時,你能倒出來的水一定是a、b的最大公因數的倍數。不相信的話,請你試試,上面的例子是否能倒出2公升出來?此時,假如你用先裝滿A的方法,倒到A=0、B=12,接下來是裝滿A,A=9、B=12把A倒滿B,A=9-3=6、B=12+3=15清空B,A=6、B=0把A倒到B,A=0、B=6把A倒滿,A=9、B=6把A倒到B,A=0、B=15把B清空,A=0、B=0,發現再來會一直重覆出現上面的數字。

因為在數學上有一個性質:任何二個數的合或者差,也一定是二個數的最大公因數的倍數。

 肆、連結代數問題


假如你已經發現到剛才談的,一定是一個水桶清空後再裝滿水,另一個一定是裝滿水以後再清空。同時你又學過二元一次方程式,這時候,你是否會連結到它可以看成是9x+15y=12的整數解?其中x和y中的一個是正整數,一個是負整數。我們用嘗試錯誤的方法找出答案x=3、y=-1,發現要把A裝滿3次,B清空一次即可;剛好和圖一的做法相符。上面的二元一次方程式,當然也可以y是正,x是負,例如y=2、x=-2,也就是B裝滿2次,A清空2次;剛好和圖二的做法相符。

假如你的數學不錯,或者曾經學過如何找出9x+15y=12的所有整數解,它其實就是用輾轉相除法的概念求得所有的整數解,如下

15÷9=1…6、即 15=9×1+6、即 6=15-9×1
9÷6=1…3、即 9=6×1+3即 3=9-6×1
6÷3=2…0
把第一式的邊,代入第二式的6中
3=9-6×1
=9-(15-9×1)×1
=9×2-15×1
兩邊乘以4
12=9×8-15×4
=9×8+9×5t-15×4-15×3t
=9×(8+5t)+15×(-4-3t)
所以
x=8+5t、 y=-4-3t 其中t是整數
求得所有整數解之後,當t=-1時、x=3、y=-1;當t=-2時、x=-2、y=2,剛好是上面的二種方法。

 伍、問題的連結


假如學生稍微留意一下,可能會發現作者所用的二個水桶A= 9公升和B=15公升,要量出12公升的水,和電影「終極警探3」的問題A=3加侖和B=5加侖,要量4加侖的水的問題是一樣的。只是作者為了讓大家看到最大公因數的倍數的關係,故意把電影問題中的三個數都乘以3。因此電影情節的二元一次方程式是3x+5y=4的整數解,其中x、y是整數。它的方程式解是
4=3×3-5×1
=3×3+3×5t-5×1-5×3t
=3×(3+5t)+5×(1-3t)
所以
x=3+5t、 y=-1-3t 其中t是整數
同樣的,當t=0,即x=3、y=-1時,就是A倒滿三次,B清空一次。當t= -1時,x=-2、y=2,就是B倒滿2次,A清空2次。A=9、B=15要倒出12和A=3、B=5要倒出6的答案相同。

 結語


數學教育的目的是希望學生在玩益智遊戲時,能有系統性、有規律、能邏輯推理的玩,再從玩的過程中留意數字間的關係,發現規律,甚至連結代數、算術概念。假如我們的學生能有多次類似的經驗,相信學生的邏輯推理能力、創新能力,一定可以被培養起來,一定能學到帶得走的能力。

有興趣的學生可以再玩一玩「易位棋」的益智遊戲(註4),等找到規律再看一看本月刊第58-06的文章「益智遊戲易位棋中的數學思維」(註5)。看你是否能像文章中所談的找到規律以及發現它的公式的推理過程。

 

 參考文獻


李源順
臺北市立大學數學系教授