問題:
bash game,有1堆含n個石子,兩個人輪流從這堆物品中取物,規定每次至少取1個,最多取m個。取走最後石子的人獲勝。
思路:
先考慮具體例子,再推導到普遍情況。
先假設n為10, m為3.
若想贏,即取最後乙個石子,
可以有(10)或 (9,10)或 (8,9,10)三種取法。
而只要上一輪最後乙個取的是第6個,就可以取到最後乙個。
因為你取了第六個,對手就只能取(7)或 (7,8)或 (7,8,9)。
對手取(7) (7,8) (7,8,9)哪種,你都能贏。
即:要想取到最後乙個,先要取到第6個。
依次類推:要想取到第6個,要先取到第2個。
顯然:先手者是能取到第2個的。
再假設n為8, m為3.若想贏,先要取到第4個,若想取到第4個,先要取到第0個,顯然先手者是取不到第0個,也取不到第4個的。
因為先手者第一次取是只能選擇
(1) (1,2) (1,2,3)。
所以這種情況先手者贏不了
你是不是已經發現規律了,
只要 n mod (m+1) 有餘數,先手者就能贏,否則先手者不能贏。
取石子遊戲
如下 include include intmain k b a temp floor k 1.0 sqrt 5 2.0 if temp a printf 0 n else printf 1 n return 0 一 巴什博奕 bash game 只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每...
取石子問題
xiao tang和xiao jiang非常喜歡玩一種有趣的小遊戲 有n個石子,兩人輪流從中取出1個,3個或4個石子,當石子被取空時,遊戲結束。最後乙個取石子的人獲勝,第一次總是xiao tang取.當然,他們倆都足夠聰明,總會採取最優的策略。input 每行會有乙個正整數n n 100000 代表...
取石子問題
有一種很有意思的遊戲,就是有物體若干堆,可以是火柴棍或是圍棋子等等均可。兩個人輪流從堆中取物體若干,規定最後取光物體者取勝。這是我國民間很古老的乙個遊戲,別看這遊戲極其簡單,卻蘊含著深刻的數學原理。下面我們來分析一下要如何才能夠取勝。一 巴什博奕 bash game 只有一堆n個物品,兩個人輪流從這...