徐 品
(南陽農業職業學院,河南 南陽473000)
24點是一個數學益智游戲,傳統24點的規則是任意取4個1~10的整數,用加、減、乘、除(可加括號)把這4個數算成24,每個數必須用一次且只能用一次。24點有助于發展學生的邏輯思維,使學生在學習中游戲,在游戲中學習,一題多解還可以加強學生舉一反三的能力。24點有其獨特的數學魅力和豐富的內涵,簡單易學,通常用撲克牌上的數字來進行計算。撲克數學游戲的特點是教育功能性較強、趣味性強、易操作,游戲要素是參與者、工具、主題和規則。 經過實踐發現,24點游戲有助于提高學生的專注力和心算能力。
在傳統24點的游戲規則下,有解率為87.47%,也就是平均每抽八組數字就有一組算不出24點。游戲中只有固定幾個較難的題目,例如:①1,3,4,6。②1,4,5,6。③1,5,5,5。④1,6,6,8。⑤3,3,7,7。⑥3,3,8,8。⑦4,4,7,7,有時需要用到分數去解題。24點小游戲更多考驗的是心算的快、精、靈、全,比較鍛煉思維能力,但游戲時常會隨著無解組合的出現而結束。對此,本研究嘗試設計出一種新的游戲規則:一副撲克牌中抽去大小王剩下52張,J,Q,K,A均代表1點,可隨意抽取9張牌,利用加、減、乘、除(可加括號)把牌面上的點數算成24。
主要定理:任意在1~10中(包含1、10)的9個數在用且僅能用一次的規則下均可通過加減乘除(可加括號)得到24。為證明這個定理,提出了以下引理:對于滿足2≤x1≤8,4≤x2≤10 的1,1,1,x1,x2,這5個數可通過四則運算得到24。
證明過程分四步:
(1)2≤x1≤6,4≤x2≤9。一方面,2個1和x1可得到3和4,5≤x2≤9和1可得到6或8,故5≤x2≤9可以得到24;另一方面,3個1可以和x1得到6,故1,1,1,4,x1可以得到24。
(2)x1=7,4≤x2≤9。1和x1可得到6,兩個1和4≤x2≤6可得到4,再通過如下計算可得(2)成立:
(7×7-1)/(1+1)=24
(1+1)×(7+1)+8=24
(1+1)×9+7-1=24
(3)x1=8,4≤x2≤9。由于3個1和4≤x2≤9可得到3,故(3)成立。
(4)2≤x1≤8,x2=10。通過如下計算可知(4)成立:
(1+1+10)×1×2=24
(3-1+10)×(1+1)=24
(1+1)×10+4×1=24
(1+1)×10+5-1=24
(1+1)×(1+6)+10=24
(1+1)×7+10×1=24
(1+1)×(8-1)+10=24
主要定理的證明:對于9個1~10的整數,設其為x1≤x2≤…≤x9,現得出以下結論:
結論一:幾乎都可得到3個1(只有一種例外情形)。現設計出以下算法A:(i)檢查1點數量,若1點數量大于等于3,則取出3個1,結束。(ii)若有相同的點數,將點數相除得到新點數1,返回(i)。若沒有相同的點數,取相鄰最近的兩個點數的差得到新點數1,返回(i)。由抽屜原理可知,若點數為2~10的數量大于等于6,則存在相鄰的牌點數小于等于1,那么以上算法中只有1,1,2,4,6,8,10這一組數不能得到3個1,但卻有1+1+2-4+6+8+10=24。
結論二:可以得到1,1,1,y1,y2,y3。對于其他情況,先挑出3個1,然后用算法B可以得到3個1和y1,y2,y3。算法B如下:(i)若只有3個點數,結束。(ii)若最大數與最小數之和小于等于10,則將二者相加,返回(i)。 若最大數與最小數之和大于10,則取大數減小數(差為0時相除),返回(i)。
結論三:1,1,1,y1,y2,y3可以計算出24。由算法A可知,挑出3個1后最少還剩3張牌,再由算法B可知,每經過一次循環,點數的數量或牌數就會減少1,故通過算法B最終得到1,1,1,y1,y2,y3。可以設y1≤y2≤y3,若y1+y3≤8,則有y1+y3≥2.根據引理可知1,1,1,x1+x3,x2可得到24。若y1+y3≥9,分為兩種情形:①|y3-y1|≥2,由引理可知1,1,1,x3-x1,x2可得到24。②|y3-y1|≤1,則x3≥5. 若y1,y2,y3中有一個在{6,7,8,9}中,則將另兩個數相減或相除可得到1,從而可由以下計算得到24,6和4個1可得24,7、8、9和1可得8,再和3個1可得24。
6×(1+1+1+1)=24
(1+1+1)×(7+1)=24
(1+1+1)×(8×1)=24
(1+1+1)×(9-1)=24
剩下只需計算y1=y2=y3=5和y1=y2=y3=10。這兩種情況可由以下計算得出結論:
(5-1)×5+5-1×1=24
(10+1+1)×(10/10+1)=24
由上可知,任意點數為1~10的9張牌可通過加減乘除(可加括號)得到24。
推論:在點數為1~10的一堆牌中,任取多于9張牌均可通過加減乘除(可加括號)得到24。
證明:由算法A和算法B可以得到1,1,1,x1,x2,x3。算法A只有例外情況會形成1,1,2,4,6,8,10,算法B的例外情況是得到4個1和兩個大于1的數,從對兩種例外情況的討論和定理的證明過程來看,該推論顯然成立。
上述推論說明,任意拿到超過9個1~10的整數通過加減乘除(可加括號)都能得到24,即拿到任意一堆牌,只要牌的張數大于等于9,則肯定可以通過加減乘除(可加括號)得到24。
受主要定理證明過程的啟發,得到了超過9個數算24的一般算法,算法詳情如下:
第一步(步驟①②):得到3個1,例外情況會形成1,1,2,4,6,8,10,若是例外情況,則有1+1+2-4+6+8+10=24。①檢查1點數量,若1點數量大于等于3,則取出3個1,結束。②若有相同的點數,將點數相除得到新點數1,返回①。若沒有相同的點數,取相鄰最近的兩個點數的差得到新點數1,返回①。
第二步(步驟③④):3個1之外得到3個數,例外情況是得到4個1和兩個大于1的數,可以通過4×6=24,3×8=24,(1+1)×(9-1-1)+10=24,1+1+1+1+10+10=24得到結果。③拿出3個1,若只剩3個數,結束。④若最大數與最小數之和小于等于10,則將二者相加,返回③。若最大數與最小數之和大于10,則取大數減小數(差為0時相除),返回③。
第三步(步驟⑤):3個1和另外3個數算24。⑤給定1,1,1,x1,x2,x3,容易計算24點,算法結束。
第一步的例外情形是因為算法A在出現1,1,2,4,6,8,10這7個數時不能再生成3個1,而其他情形均可得到3個1。第二步的例外情形是得到1,1,1,x1,x2,x3,x4后(可設這幾個數按遞增順序排列),若x1+x4>10且x4-x1≤1,就會得到1,1,1,1,x2,x3。
利用1,1,1,x1,x2,x3計算24點的詳細方法為設x1≤x2≤x3,若x1+x3≤8,則有x1+x3≥2。根據引理可知1,1,1,x1+x3,x2可得到24。若x1+x3≥9,分兩種情形:①|x3-x1|≥2,由引理可知1,1,1,x3-x1,x2可得到24。②|x3-x1|≤1,則x3≥5。若x1,x2,x3中有一個在{6,7,8,9}中,則將另兩個數相減或相除可得到1,從而可由以下計算得到24,6和4個1可得24,7、8、9和1可得8,再和3個1可得24。
6×(1+1+1+1)=24
(1+1+1)×(7+1)=24
(1+1+1)×(8×1)=24
(1+1+1)×(9-1)=24
剩下只需計算x1=x2=x3=5和x1=x2=x3=10。這兩種情況可由以下計算得出結論:
(5-1)×5+5-1×1=24
(10+1+1)×(10/10+1)=24