桌上有30根火柴,两人轮流拿,规定每人每次可拿1~3根,且拿到最后一根者为赢.先拿者怎么样才能保证获胜
桌上有30根火柴,两人轮流拿,规定每人每次可拿1~3根,且拿到最后一根者为赢.先拿者怎么样才能保证获胜
后面拿的那个赢吖!
假设第1个人拿1根
第2个人就拿2根
假设第2个拿2根
第2个人就拿1根
总之 第2个人都要取3的倍数
所以到了最后 一定是第2个人赢!
可以用倒推法来解。从数字30往前推。
1 假设我现在处于赢的状态,该我拿数字了。而现在桌子上恰好剩余不超过3个数字。(1个或者2个)那么我就可以全拿走,从而数字30就归我了。结果我赢。要形成这种状态,即我取走数字27后,桌子上还有3个数字。此时,该另一个人拿了,无论他拿1个或者2个,都是我赢了。因此,我必须保证数字27被我拿走了。
2 这时,题目就转化为,有1-27个数,每次只能拿1个或2个,谁最先拿到27者为胜.
按步骤1的方法,我要保证27被我拿走,就要使我上一次取走一个数字后,桌子上还有3个数字。这样无论另一个人取几个数字,27都是我拿走的。所以,数字24必须是被我拿走的。
3 这时,题目就转化为,有1-24个数,每次只能拿1个或2个,谁最先拿到27者为胜.
继续算下去。最后变成1到3个数,每次只能拿1个或2个,谁最先拿到3者为胜.
这个就好想了,我让那个人先拿,如果他拿1个,我就拿2个数字,数字3就归我了。如果他拿2个,我就拿1个数字,数字3就归我了。
再倒退回去,因此,结论:让另一个人先取数字,我要取走的数是3的倍数(3,6,9,12......30),我就一定能拿到30这个数字了。
先拿两根,
然后依以下策略进行:
对手拿几根,你就拿(4-对手拿的根数)
比如:对手拿一根,你就拿3跟
对手两根,你两根
对手一根,你三根
最后你一定拿到最后一根.