题目内容
【题目】2004枚棋子,每次可以取1、3、4、7枚,最后取的获胜。甲、乙轮流取,如果甲先取,如何才能保证赢?
【答案】见解析
【解析】先从简单的情况看起,看看棋子数量较少时,在什么情况下先取者胜,什么情况下后取者胜.可以列表如下:
棋子数量 | 先取者胜 | 后取者胜 |
1枚 | √ | |
2枚 | √ | |
3枚 | √ | |
4枚 | √ | |
5枚 | √ | |
6枚 | √ | |
7枚 | √ | |
8枚 | √ | |
9枚 | √ | <> |
10枚 | √ | |
11枚 | √ | |
12枚 | √ | |
13枚 | √ | |
14枚 | √ | |
15枚 | √ | |
16枚 | √ | |
17枚 | √ | |
18枚 | √ | |
19枚 | √ | |
20枚 | √ |
棋子数是1~8时比较容易看得出来是先取者胜还是后取者胜,可以看出只有棋子数是2枚和8枚时是后取者胜,其他情况下都是先取者胜.
当棋子数大于8时,可以先取若干枚棋子,使得剩下的棋子数变成前面已有的棋子数.先取者为了取胜,第一次取后,应该使剩下的棋子数是后取者胜的情况,比如变成剩下2枚或8枚.这样推下去,可以发现只有当棋子数是8的倍数或者除以8余2时,是后取者胜,其他情况下是先取者胜.
题目中有2004枚棋子,除以8余4,所以先取者肯定可以取胜.不过取胜的策略比较灵活,不能明确地说每次后取者取多少枚先取者就相应地取多少枚,应该从除以8的余数来考虑:
⑴先取者第一次可以先取4枚,这样还剩下2000枚,2000除以8的余数是0;
⑵先取者为了保证获胜,在每一次后取者取了之后,先取者再取的时候,应该使得自己取后剩下的棋子数是8的倍数或者除以8余2;
⑶后取者每次可以取1,3,4,7枚,每次先取者取后剩下的棋子数除以8的余数是0或2,所以每次后取者取后剩下的棋子数除以8的余数是7,5,4,1或1,7,6,3.
所以接下来先取者可以对应地取7,3,4,1或1,7,4,3枚棋子,这样剩下的剩下的棋子数除以8的余数为0,2,0,0或0,0,2,0.
这样就保证了第⑵点.
⑷每次先取者取后剩下的棋子数除以8的余数是0或2,那么最后一枚棋子肯定是先取者取得,所以先取者获胜.