问题:16个硬币,A和B轮流拿走一些,每次拿走的个数只能是1,2,4中的一个数。
谁最后拿硬币谁输。问:A或B有无策略保证自己赢?
解决方法:
1、首先,以自己能够赢为前提。
2、过程:只能拿1个、2个、4个,只要有一种可以赢,此人在此时拿就会赢。
1)剩余1个的时候,谁先拿谁输:只剩下1个,只能拿着1个。
2)剩余2个的时候,谁先拿谁赢:拿1个,剩1个,后面的人拿剩余的1个就输了。
3)剩余3个的时候,谁先拿谁赢:拿2个,剩1个,后面的人拿剩余的1个就输了。
4)剩余4个的时候,谁先拿谁输:拿1个剩余3个,3个的时候,谁先拿谁赢,因此,此人在此时拿将会输;拿2个剩余2个,2个的时候,谁先拿谁赢,因此,此人在此时拿将会输;拿4个剩余0个,此人在此时拿将会输。
5)剩余5个的时候,谁先拿谁赢:拿1个剩余4个,4个的时候,谁先拿谁输,因此,此人在此时拿将会赢。
6)剩余6个的时候,谁先拿谁赢:拿2个剩余4个,4个的时候,谁先拿谁输,因此,此人在此时拿将会赢。
7)剩余7个的时候,谁先拿谁输:拿1个剩余6个,6个的时候,谁先拿谁赢,因此,此人在此时拿将会输;拿2个剩余5个,5个的时候,谁先拿谁赢,因此,此人在此时拿将会输;拿4个剩余3个,3个的时候,谁先拿谁赢,因此,此人在此时拿将会输。
8)剩余8个的时候,谁先拿谁赢:拿1个剩余7个,7个的时候,谁先拿谁输,因此,此人在此时拿将会赢。
9)剩余9个的时候,谁先拿谁赢:拿2个剩余7个,7个的时候,谁先拿谁输,因此,此人在此时拿将会赢。
10)剩余10个的时候,谁先拿谁输:拿1个剩余9个,9个的时候,谁先拿谁赢,因此,此人在此时拿将会输;拿2个剩余8个,8个的时候,谁先拿谁赢,因此,此人在此时拿将会输;拿4个剩余6个,6个的时候,谁先拿谁赢,因此,此人在此时拿将会输。
11)剩余11个的时候,谁先拿谁赢:拿1个剩余10个,10个的时候,谁先拿谁输,因此,此人在此时拿将会赢。
12)剩余12个的时候,谁先拿谁赢:拿2个剩余10个,10个的时候,谁先拿谁输,因此,此人在此时拿将会赢。
13)剩余13个的时候,谁先拿谁输:拿1个剩余12个,12个的时候,谁先拿谁赢,因此,此人在此时拿将会输;拿2个剩余11个,11个的时候,谁先拿谁赢,因此,此人在此时拿将会输;拿4个剩余9个,9个的时候,谁先拿谁赢,因此,此人在此时拿将会输。
14)剩余14个的时候,谁先拿谁赢:拿1个剩余13个,13个的时候,谁先拿谁输,因此,此人在此时拿将会赢。
15)剩余15个的时候,谁先拿谁赢:拿2个剩余13个,13个的时候,谁先拿谁输,因此,此人在此时拿将会赢。
16)剩余16个的时候,谁先拿谁赢:拿1个剩余15个,15个的时候,谁先拿谁赢,因此,此人在此时拿将会输;拿2个剩余14个,14个的时候,谁先拿谁赢,因此,此人在此时拿将会输;拿4个剩余12个,12个的时候,谁先拿谁赢,因此,此人在此时拿将会输。
3、经过上面过程,可以得出:
1)剩余硬币的个数是3n-2(n为自然数)的时候谁先拿谁就会输。
2)剩余硬币的个数是3n-1(n为自然数)的时候谁先拿谁就会赢,先拿1个。
3)剩余硬币的个数是3n(n为自然数)的时候谁先拿谁就会输,先拿2个。