有趣的游戏

请你与同伴一块玩个游戏。在桌上摆三小堆火柴,例如,分别是 12、10 和 7 根。然后,轮流从一堆火柴堆里取出火柴,可以取一根,也可以一次取完整堆火柴,可是不能一根不取。谁取完火柴,谁就赢了。例如,A、B 两人轮流取火柴的变化是:

开始 12、10、7

A 取 1 12、10、6

B 取 3 12、7、6

A 取 11

1、7、6

B 取 2

1、5、6

A 取 2

1、5、4

B 取 2

1、3、4

A 取 2

1、3、2

B 取 1

1、2、2

A 取 1

0、2、2

B 取 1

0、1、2

A 取 1

0、1、1

B 取 1

0、0、1

最后取完火柴的是 A,他获胜了。那么,A 是否总能获胜呢?

这个问题的答案与二进制有关。把 12、10、7 分别用二进制表示: 12——1100,

10——1010,

7——111。

竖看这三个数的每一列,除最右边的一列外,都有两个 1。A 先取,只要每次使每一列有两个 1 或者一个 1 也没有,就能获胜:

12——1100,

10——1010,

6——110。

A 取 1 后,B 取 3,破坏了这个结果。A 再取 11,又恢复了这个结果: 1——1,

7——111,

6——110。

这以后,不管 B 怎么取,总要破坏这个结果;而 A 总可以恢复它,直到取得胜利。

由此可见,要是开始时的数组符合这个要求,并且两人都知道取胜诀窍, 那么,总是先取数的人输,后取数的人赢了。在这种情况下,先取数的人, 只好把希望寄托在对手出错。

要是把火柴分成四堆、五堆或者更多的堆,不管每堆多少根,用这个办法也一样能取得胜利。