100根火柴,拿到最后一根火柴就贏的必勝解法及思路


問題:100根火柴,兩個人輪流取,每個人每次只能取1~7根,誰拿到最后一根火柴誰贏;問有必勝策略嗎,有的話是先手還是后手必勝?

最近讀了劉未鵬的博文“跟波利亞學解題”有感。我也嘗試使用博文中提到的一下思維方法解決這一問題。 問題並不難,只為了記錄思維過程。正如歐拉認為如果不能把解決數學問題背后的思維過程教給學生的話,數學教學就是沒有意義的。

解題思路(歸約法):

反過來推導是一種極其重要的啟發法,Pappus在他的宏篇巨著中將這種手法總結為解題的最重要手法。實際上,反向解題隱含了解題中至為深刻的思想:歸約。如果原問題不容易解決,那么歸約后的問題也許就容易解決了,通過一層層的歸約,讓邏輯的枝蔓從結論上一節節的生長,我們往往會發現,離已知量越來越近。

首先不考慮誰先抽取,如果假設Winner就是最后的贏家而Loser是輸家。

第一步:從結論出發,誰拿到最后一根火柴誰贏。同時考慮約束條件每個人每次只能取1~7根。 因此Loser最后一次抽取火柴后必須剩下1-7根火柴,Winner才能成為最后的贏家。也就意味:Winner在其倒數第二次抽取完火柴后 ,剩余火柴的數量必須是8根,才能確保無論Loser在其最后一次怎么抽取火柴都要1-7根火柴留給Winner。

所以在第一步,我們將問題向上歸約為:Winner必須在倒數第二次抽取完后將剩余火柴的總數量控制在8根。是不是感覺離已知條件(100根火柴)近了點

 

第二步,繼續歸約:怎樣才能確保Winner在倒數第二次抽取完后將剩余火柴的總數量控制在8根? 問題轉換一下就是說,在Winner在進行倒數第二次抽取時,當時的火柴是多少根時,Winner能確保完成抽取后能剩下8根火柴?答案很顯然是(9-15)根。Winner抽取(9-15)根中的1-7根就一定可以保證留8根給Loser。

分析到這里,問題歸約為:如何確保Loser在Winer上一輪抽取后,一定剩下9-15根火柴?離已知條件(100根火柴)又近了點。

 

第三步,繼續歸約。從第二步歸約出的問題思考:Loser倒數第二次抽取火柴后必須剩下9-15根火柴。是不是似曾相識啊?和第一步思考的問題一致。答案顯然是:Winner在其倒數第三次抽取火柴后剩下16根火柴給Loser。

到這里,我們將問題向上歸約為:Winner必須在倒數第三次抽取完后將剩余火柴的總數量控制在16根。離已知條件(100根火柴)又近了點。

 

第四步,從前三步的分析,似乎找到了某種規律。 可以通過表格嘗試畫出來.

 

  Begin End
Winner 1-7 0
Loser 8 1-7
Winner 9-15 8
Loser 16 9-15
Winner 17-23 16
Loser 24 17-23
Winner 25-31 24
Loser 32 25-31
Winner 33-39 32
Loser ... ...
... ... ...
... ... ...
... ... ...
Winner 100 96

 第五步,歸納一下得出結論:誰能確保抽完火柴后,剩下的火柴數量只要是8的倍數就一定是完勝。因為共100根,所以只要先下手為強抽調4根火柴就一定是最后的贏家。

 

 

推廣:

考慮一個最簡單的情況:100根火柴,兩個人輪流取,每個人每次只能取1根,誰拿到最后一根火柴誰贏;問有必勝策略嗎,有的話是先手還是后手必勝?答案顯然后手必勝。同時也證實了上面的結論:誰先抽取火柴后使剩余火柴數量變為(n+1)的倍數,誰就能贏。此題中n=1.所以是后手必勝。
進一步考慮每個人每次只能取1-2根(或1-3,1-4,1-n根)的情況。都能輕易得出先手必勝的結論。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM