首页 > 试题广场 >

有一堆石子,共80颗,甲,乙轮流从该堆中取石子,每次可以取2

[单选题]
有一堆石子,共80颗,甲,乙轮流从该堆中取石子,每次可以取2,4或者6颗,取得最后的石子的玩家为赢家,甲乙都足够聪明都想赢,若甲先取,则____。
  • 甲必胜
  • 乙必胜
  • 甲乙都是50%几率获胜
  • 其他说法都不正确
首先2,4,6中甲任取一个,乙都可以取一个数组成8,即每一轮甲加乙都可以等于8
而80%8 =0,即无论甲怎么取,在乙的控制下,甲每一个新循环面临的剩余数都是8的倍数!
这样最后一轮甲面对的是剩下8个石头的石堆,它无论怎么取都不可能取完这8个石头,所以必定是乙取完剩余石头。
此题属于简单的Nim问题。
发表于 2020-03-13 10:05:00 回复(0)
80 = 2 + 13*6
第一次取时,无论甲取多少,比如说n,乙取6-(n-2) = 8-n个
之后每次无论甲取多少个,比如说m,乙取6-m个就可以了,特殊情况如果m为6,乙也取6个。即乙取6-m%6个
这样每次甲乙取的石子之和都是6的倍数,最后一定是乙取到最后一个。

这类问题都是拿总个数除以取得最大的个数,得到余数。
之后每两次甲乙取的数量之和等于最大的个数就行了,所以在确定了谁先取之后,已经确定了赢家了。
编辑于 2019-12-02 21:14:46 回复(0)
这是个典型的递归问题:我们要逆向思考,为了抢到80 ,我们必须抢到72,因为抢到72,无论对方取2,4,6的哪个,我都可直接到80. 为了抢72,就必须抢64,以此类推需要抢到56、48、40、32、24、16、8 所以只要对方先取,我就可以赢。类似的问题还有:如果双方可以取1,2谁先到20谁赢的。
发表于 2020-11-14 18:37:00 回复(1)