取火柴棒遊戲的問題敘述:
桌上有n根火柴棒,甲乙兩人按照如下規則輪流取走這些火柴棒:
1.每次只允許取走1~2根火柴棒;
2.最後一次取走火柴棒的人獲勝;
取勝方法:
若甲先取,且甲想要取勝,那麼可以考慮如下一種策略(我們姑且就稱之為策略a吧):
甲先取,之後乙取,若乙取1個火柴棒,那麼之後甲就取2個火柴棒;若乙取2個火柴棒,則甲取1個火柴棒,總之就是保證甲+乙=3,那麼,就產生了如下3種情況:
1)n=3k+1,k是整數:
這種情況下,甲要取勝,方法為:先取1個火柴棒,那麼還剩下3k個火柴棒,之後採取策略a.這樣,就能保證每回合都取走3個,且甲取後一次.以此類推,甲就一定能取勝.
2)n=3k+2,k是整數:
這種情況下,甲要取勝,方法為:先取2個火柴棒,那麼還剩下3k個火柴棒,之後採取策略a.這樣,就能保證每回合都取走3個,且甲取後一次.以此類推,甲就一定能取勝.
3)n=3k,k是整數;
這種情況下,甲要麼先取1個,要麼先取2個.剩下的就是:3k-1或者3k-2;而3k-1=(3k+2)-3;3k-2=(3k+1)-3在這種情況下,甲是必輸的.因為這個問題可以等價於乙先取3k-1或3k-2個火柴棒,也就是3k+2或3k+1個火柴棒,這與上述1),2)的情況是一樣的.所以,這種情況下,甲必輸
總結:在甲先取的情況下,勝負如下
1)若n=3k+1或者n=3k+2
甲採取策略a必勝
2)若n=3k
乙一定能用策略a取得勝利,亦即乙必勝.
進一步推廣取火柴棒問題,描述如下:
桌上有n個火柴棒,甲乙兩人按照如下規則輪流取走這些火柴棒:
1)每次只允許取走1~m個火柴棒;
2)最後一次取走火柴棒的人獲勝;
我們可以從上面的推理中類推出此問題的解,取勝方法策略為(我們姑且稱之為策略b):
若甲先取,且甲想取勝
甲先取若干個火柴棒,之後乙取,若乙取1個火柴棒,那麼之後甲就取m個火柴棒;若乙取2個火柴棒,則甲取m-1個火柴棒......總之就是保證甲+乙=m+1,那麼,就產生了如下m+1種情況:
1)n=(m+1)*k+1,k是整數;
甲先取1個火柴棒,那麼還剩下(m+1)*k個火柴棒,之後採取策略b,這樣,就能保證每回合都取走m+1個,且甲取後一次.以此類推,甲就一定能取勝.
2)n=(m+1)*k+2,k是整數:
甲先取2個火柴棒,那麼還剩下(m+1)*k個火柴棒,之後採取策略b,
這樣,就能保證每回合都取走m+1個,且甲取後一次.以此類推,甲就一定能取勝.
......
......
m)n=(m+1)*k+m,k是整數:
甲先取m個火柴棒,那麼還剩下(m+1)*k個火柴棒,之後採取策略b,
這樣,就能保證每回合都取走m+1個,且甲取後一次.以此類推,甲就一定能取勝.
m+1)n=(m+1)*k,k是整數:
這種情況下,甲要麼先取1個,要麼先取2個,要麼先取3個,......要麼先取m個,那麼分別還剩下:(m+1)*k-1,(m+1)*k-2,(m+1)*k-3,......,(m+1)*k-m個火柴棒,亦即[(m+1)*k+m]-(m+1),......,[(m+1)*k+1]-(m+1)個火柴棒.這相當於上面的1)~m)這m種情況,只不過先取的是乙,這種情況下,乙必勝.
總結:
甲先取,且甲想取勝
1)若n=(m+1)*k+1,(m+1)*k+2,......,(m+1)*k+m
採取上述策略,甲一定能取得勝利
2)若n=(m+1)*k
乙採取上述策略,乙一定能取得勝利.
從上面的結論,我們可以看到,只有一種情況下,乙是必勝的,那就是n=(m+1)*k,其餘都是甲必勝,可見,甲必勝的概率隨著m的增加而不斷變大,同時,我們也可以看出,先手者勝率高.
一些關於測試的問題
1.有一根不均勻的繩全部燒完用1個小時,現在有很多材質,規格完全相同的繩,怎麼用燒繩法計時1個小時15分鐘?我的回答 用一根繩做標記,另一根繩,兩頭開始燒,燒到一塊的位置,表在第一根繩上,這是半個小時的時間同理找到1 4個小時的位置,進而可以得到乙個小時15分鐘啊 2.什麼是冒煙測試?冒煙測試 sm...
關於一些空指標異常的一些問題
listschedultcustomproductids new arraylist if schedultcustomproductids null 這樣是不能阻擋getbyids 方法的執行的 size 0和null是不同的,new完以後,是會給他分配記憶體的,是size 0,因為給他分記憶體了...
關於JS一些驗證郵箱的一些問題
if type email w w w ig strreg a za z0 9 a za z0 9 a za z0 9 strreg 0 9a za z 0 9a za z 0 9a za z 0 9a za z strreg a za z0 9 a za z0 9 a za z0 9 a za z...