火柴棍游戏

来源:百度知道 编辑:UC知道 时间:2024/06/02 15:10:30
用15根火柴棍,分成五堆,分别为1,2,3,4,5
两人轮流拿
每次拿的根数不限,但每次只能在一堆中拿。谁拿着最后一根谁输
问怎么才能取得胜利。
(注:我怎么玩怎么输,人说只拿一轮就能看出胜负。)
各位高手帮帮忙。追加悬赏
移哪一堆没有什么讲究吗?

五堆,1,2,3,4,5
分别为写成二进制数为
1
10
11
100
101
可以看出这5个数中,除最后1位1的个数是奇数3,其他位1的个数均是偶数,先拿火柴的人要想获胜,可以在最后1位是1的堆中任拿1根火柴棍(即具有奇数根火柴的堆),这时先拿的人就可稳操胜券,因为此时所有堆火柴棍所对应的二进制数所有位数1的个数均是偶数,此后第二人无论怎样拿(但只能在一堆中拿),仅能改变一堆的个数,或上面5个二进制数中仅能一个改变,这就破坏了"二进制数所有位数1的个数均是偶数"的事实,这时先拿火柴的人通过改变其中一个二进制数恢复"二进制数所有位数1的个数均是偶数"的事实,即通过在某堆中拿去一根或几根火柴棍达到,这样轮流拿下去,第二人无论怎样拿,他拿后就破坏了"二进制数所有位数1的个数均是偶数"的事实,先拿火柴的人可恢复"二进制数所有位数1的个数均是偶数"的事实,这样下去先拿火柴的人一定会胜.
如先拿火柴的人在第3堆拿1根,此时5堆情况如下:
1
10
10
100
101
二进制数所有位数1的个数均是偶数,第二人无论怎样拿,他拿后就破坏了"二进制数所有位数1的个数均是偶数"的事实,如他在第4堆拿2根,此时5堆情况如下:
1
10
10
10
101
此时第2位1的个数均是3,先拿火柴的人可以将5堆情况改变如下:
1
10
00
10
101
这样下去,先拿火柴的人一定胜,你可以试试.
上面介绍的方法具有一般性,对任意堆任意根火柴均适用.

根据游戏规则,先移火柴的人要想获胜,要设法最后只留下6根给对方,15-6=9,因此他应移走第3根才能获胜
因此首先移火柴的人在第1次应该移走3根,以后游戏过程中他只要保证两人每次共移走6根,就必能在游戏中获胜.

你要自己每次拿了以后,都要剩下两堆,或者剩下最后1堆的最后1根给别人,那么你就怎么也不会输.