拈之必勝秘訣

| 名詞定義 | 倒推法 | 二進位法 | 結語 |
名詞定義
    為了方便說明,下面先定義幾個名詞
  • 最大拿取數:玩者在輪到拿取石子時可拿取的最大數字。
  • 勝負判定方式:通常的玩法是拿到最後一顆石子的人為勝方,當然也可以設定成拿到最後一顆石子的人為輸方。
  • 殘型:目前每一堆石子的數量,例:共有 3 堆,每堆的數量分別為 3、4、5 個,則記為 { 3, 4, 5 }
  • 勝型:
    1. 如果殘型對輪到要拿取石子的人而言,不論如何拿取都必定會輸時;我們就把這個殘型叫做勝型。
    2. 遊戲者拿取石子時必須要搶佔勝型,誰能搶佔到勝型,就能使對方輸而自己勝。
  • 輸型:
    1. 如果殘型對輪到要拿取石子的人而言,只要正確的拿取就可搶佔到勝型時;我們就把這個殘型叫做輸型。
    2. 遊戲者選取數字時必須要避開輸型,否則就是對方勝而自己輸了。
倒推法
一、以下先用「最大拿取數為 3,拿到最後一顆石子的人勝」的玩法, 來示範倒推法的推算方式
  • 如果石子只剩下一堆時
    1. { 1 }為輸型,因為玩家只要拿取剩下的 1 顆石子就勝利了。
    2. { 2 }為輸型,因為玩家只要拿取剩下的 2 顆石子就勝利了。
    3. { 3 }為輸型,因為玩家只要拿取剩下的 3 顆石子就勝利了。
    4. { 4 }為勝型,因為玩家不論拿多少個石子都只能佔到輸型,而讓我們得勝。
    5. { 5 }為輸型,因為玩家只要拿取 1 顆石子就搶佔了勝型 { 4 }。
    6. { 6 }為輸型,因為玩家只要拿取 2 顆石子就搶佔了勝型 { 4 }。
    7. { 7 }為輸型,因為玩家只要拿取 3 顆石子就搶佔了勝型 { 4 }。
    8. 同理可推:{ 8 }、{ 12 }、{ 16 }....都是勝型。
    9. 結論:對於任意的殘型 { a } ,若 a 是 4 的倍數,或者說除以 4 的餘數為 0 時是為 勝型 ( n 除以 4 的餘數記成 n mod 4);當最大拿取數不為 3 時,只要將 4 改成 (最大拿取數+ 1) 即可。
  • 如果石子剩下 2 堆時:不妨假設第 1 堆的石子是較少的
    1. 當第 1 堆的石子數為 1 時
      { 1, 1 }為勝型,因為玩家只能從同一堆中拿取石子,所以不論如何拿取,都不能搶佔勝型。
      { 1, 2 }、{ 1, 3 }、{ 1, 4 }為輸型,因為玩家只要從第 2 堆中拿取石子就可搶佔勝型 { 1, 1 }。
      { 1, 5 }為勝型,因為玩家不論如何拿取都不能搶佔勝型。
      同理可推:{ 1, 9 }、{ 1, 13 }、{ 1, 17 }....都是勝型。
    2. 當第 1 堆的石子數為 2 時,{ 2, 2 }、{ 2, 6 }、{ 2, 10 }、{ 2, 14 } ....都是勝型。
    3. 當第 1 堆的石子數為 3 時,{ 3, 3 }、{ 3, 7 }、{ 3, 11 }、{ 3, 15 } ....都是勝型。
    4. 當第 1 堆的石子數為 4 時,{ 4, 4 }、{ 4, 8 }、{ 4, 12 }、{ 4, 16 } ....都是勝型。
    5. 當第 1 堆的石子數為 5 時,{ 5, 5 }、{ 5, 9 }、{ 5, 13 }、{ 5, 17 } ....都是勝型。
    6. ............
    7. 結論:當石子數為 2 堆時,對於任意的殘型 { a, b },若 ( a mod 4 ) = ( b mod 4 ) 則為勝型;當最大拿取數不為 3 時,只要將 4 改成 (最大拿取數+ 1) 即可。
  • 如果石子剩下 3 堆時:對任意的殘型 { a, b, c },不妨假設 a ≦ b ≦ c
    1. 當 a = 1, b = 1 時
      { 1, 1, 1 }、{ 1, 1, 2 }、{ 1, 1, 3 }為輸型,因為玩家只要拿光第 3 堆的石子就搶佔了 { 1, 1 } 勝型。
      { 1, 1, 4 }為勝型,因為玩家不論如何拿取,都不能搶佔勝型。
      同理可推:{ 1, 1, 8 }、{ 1, 1, 12 }、{ 1, 1, 16 }....都是勝型。
    2. 當 a = 1, b = 2 時,{ 1, 2, 3 }、{ 1, 2, 5 }、{ 1, 2, 9 }、{ 1, 2, 13 } ....都是勝型。
    3. 當 a = 1, b = 3 時,{ 1, 3, 6 }、{ 1, 3, 10 }、{ 1, 3, 14 }、{ 1, 3, 18 } ....都是勝型。
    4. 當 a = 1, b = 4 時,{ 1, 4, 5 }、{ 1, 4, 9 }、{ 1, 4, 13 }、{ 1, 4, 17 } ....都是勝型。
    5. 當 a = 1, b = 5 時,{ 1, 5, 8 }、{ 1, 5, 12 }、{ 1, 5, 16 }、{ 1, 5, 20 } ....都是勝型。
    6. ............
    7. 當 a = 2, b = 2 時,{ 2, 2, 4 }、{ 2, 2, 8 }、{ 2, 2, 12 }、{ 2, 2, 16 } ....都是勝型。
    8. 當 a = 2, b = 3 時,{ 2, 3, 5 }、{ 2, 3, 9 }、{ 2, 3, 13 }、{ 2, 3, 17 } ....都是勝型。
    9. 當 a = 2, b = 4 時,{ 2, 4, 6 }、{ 2, 4, 10 }、{ 2, 4, 14 }、{ 2, 4, 18 } ....都是勝型。
    10. 當 a = 2, b = 5 時,{ 2, 5, 7 }、{ 2, 5, 11 }、{ 2, 5, 15 }、{ 2, 5, 21 } ....都是勝型。
    11. ............
    12. 當 a = 3, b = 3 時,{ 3, 3, 4 }、{ 3, 3, 8 }、{ 3, 3, 12 }、{ 3, 3, 16 } ....都是勝型。
    13. 當 a = 3, b = 4 時,{ 3, 4, 7 }、{ 3, 4, 11 }、{ 3, 4, 15 }、{ 3, 4, 19 } ....都是勝型。
    14. 當 a = 3, b = 5 時,{ 3, 5, 6 }、{ 3, 5, 10 }、{ 3, 5, 14 }、{ 3, 5, 18 } ....都是勝型。
    15. 當 a = 3, b = 6 時,{ 3, 6, 9 }、{ 3, 6, 13 }、{ 3, 6, 17 }、{ 3, 6, 21 } ....都是勝型。
    16. ............
    17. 結論:當石子數為 3 堆時,對於任意的殘型 { a, b, c },假設 a1= a mod 4, b1= b mod 4,c1= c mod 4,若其一或其二為 0,或可使之為 0,則應用石子為 2 堆或 1 堆的規則, 如果都不為 0,只要使三數分別成為 1, 2, 3 即可。(哇!出乎意料之外的簡單吧!)
      例:{ 15, 16, 24 } 的殘型, a1= 15 mod 4 = 3, b1= 16 mod 4 = 0, c1= 24 mod 4 = 0,只有一個數大於 0 ,所以只要在第一堆拿取 3 個石子即可。
  • 如果石子剩下 4 堆以上時:仿上面推算方式,可推算出任意殘型的勝負狀態, 為了節省篇幅,就不列出來了。僅將尤怪的結論(尤怪把它叫做減項法)列出供做參考
    1. 先定義一個名詞,假設「排序餘數殘型」就是把任意殘型的每堆石子數除以 4 的餘數,再依大小排序。 則 3 堆石子時,排序餘數勝型 { a1, b1, c1 } 僅有 { 0, 0, 0 }, { 0, 1, 1 }, { 0, 2, 2 }, { 0, 3, 3 }, { 1, 2, 3 }。
    2. 減項運算的符號假設為 @,則 a1 @ b1 = c1, a1 @ c1 = b1, b1 @ c1 = a1。 當減項到已知的堆數時,即可依已知的結論判定勝輸型了。
    3. 例:{13, 5, 23, 8 } 的的各堆石子數除以 4 的餘數分別為 1, 1, 3, 0,所以排序餘數殘型為 { 0, 1, 1, 3 } 因為 0 @ 1 = 1,故可減項為 { 1, 1, 3 } 是為敗型,先手者適當的拿取即可獲勝(例如:從第 4 堆中拿取 1 個)。
    4. 例:{9, 7, 10, 6, 23 } 的的各堆石子數除以 4 的餘數分別為 1, 3, 2, 2, 3,所以排序餘數殘型為 { 1, 2, 2, 3, 3 }, 因為 1 @ 2 = 3, 3 @ 2 = 1 ,故可減項為 { 1, 3, 3 } 是為輸型,先手者只要在 第 4 或 第 5 堆中拿取一個石子則必勝。
二、當「最大拿取數為 10,拿到最後一顆石子的人勝」時,致勝的玩法
  • 3 堆石子的排序餘數殘型扣除餘數為 0 的勝型僅有下列幾種 { 1, 2, 3 }, { 1, 4, 5 }, { 1, 6, 8 }, { 1, 8, 9 }, { 2, 4, 6 }, { 2, 5, 7 }, { 2, 8, 10 }, { 3, 4, 7 }, { 3, 5, 6 }, { 3, 9, 10 }。
  • 例:{13, 5, 23, 8 } 的的各堆石子數除以 11 的餘數分別為 2, 5, 1, 8,所以排序餘數殘型為 { 1, 2, 5, 8 } 因為 1 @ 2 = 3,故可減項為 { 3, 5, 8 } 是為敗型,先手者適當的拿取即可獲勝(例如:從第 4 堆中拿取 2 個)。
  • 例:{9, 7, 10, 6, 23 } 的的各堆石子數除以 11 的餘數分別為 9, 7, 10, 6, 1,所以排序餘數殘型為 { 1, 6, 7, 9, 10 }, 因為 1 @ 6 = 7, 9 @ 7 = 0 ,故可減項為 { 0, 9, 10 } 是為敗型,先手者適當 的拿取即可獲勝(例如:從第 3 堆中拿取 1 個)。
二進位法
  • 任意整數 n 的二進位記法就是不斷的除以 2 的餘數連記。例: 10 的二進位記法是 1010,因為
    10 ÷ 2 = 5 .....0
    5 ÷ 2 = 2 .....1
    2 ÷ 2 = 1 .....0
    1 ÷ 2 = 0 .....1
    當商為 0 時就可以停止計算,把餘數依序寫下就是 1010 了。
  • 偶性殘型:將殘型的餘數殘型做直式相加後,如果每一位數都是偶數就叫做偶性殘型。例:在 「最大拿取數為 10,拿到最後一顆石子的人勝」的玩法中,{ 2, 8, 10 } 是偶性的,因為
    2 = 10
    8 =1000
    10 =1010
    + --------
    2020
  • 奇性殘型:將殘型的餘數殘型做直式相加後,如果有一位數是奇數就叫做奇性殘型。例:在 「最大拿取數為 4,拿到最後一顆石子的人勝」的玩法中,{ 2, 8, 10 } 是奇性的,因為 其餘數殘型 ( 將每堆石子數除以 5 的餘數 ) 為 { 2, 3, 0 }
    2 = 10
    3 = 11
    0 = 0
    + --------
    21
  • 所有的偶性殘型都是勝型,奇性殘型則是輸型。例:在「最大拿取數為 10,拿到最後一顆石子的人勝」的玩法中, 在減項法示範的兩個例子:
    1. {13, 5, 23, 8 } 是為敗型,因為它的餘數殘型 { 2, 5, 1, 8 } 是奇性殘型:
      2 = 10
      5 = 101
      1 = 1
      8 =1000
      + --------
      1112
    2. {9, 7, 10, 6, 23 } 是為敗型,因為它的餘數殘型 { 1, 6, 7, 9, 10 } 是奇性殘型:
      1 = 1
      6 = 110
      7 = 111
      9 =1001
      10 =1010
      + --------
      2223
結語
  • 以上的討論中,都只有談到「拿到最後一顆石子的人勝」的部分,「拿到最後一顆石子的人輸」的部分請自行推算。
  • 「拿到最後一顆石子的人輸」的玩法和「拿到最後一顆石子的人勝」僅有下列少許的不同:
    1. { 1, 1 } 是敗型。
    2. { 1 }, { 1, 1, 1 } 是勝型。
 
 
 
本網頁建置日期:91.04.16 | 最近更新日期:91.11.27  | 回上頁 | 回首頁 |