数学(取石子游戏)

来源:百度知道 编辑:UC知道 时间:2024/06/01 20:03:58
现有5堆石子,石子数依次为3,5,7,19,50,甲乙两人轮流从任一堆中任取(每次只能取自一堆,不能不取),
取最后一颗石子的一方获胜。甲先取,问甲有没有获胜策略(即无论乙怎样取,甲只要不失误,都能获胜)?
大哥~我看不懂饿~~~~我才初1~~

1. 从50中取走32粒剩余18粒是正确的。
2. 算法:从其中一堆中取n个,使得剩余的所有数目正好是“必负局(此时先取必输的局面)”。
3. 所谓“必负局”是指把剩余的每一堆的数目都转化成二进制的数,然后把它们相加,规定做不进位的加法(也就是异或运算),即0+0=0,1+0=0,0+1=1,1+1=0(不进位),如果所得和是0(多个0),那么此种局势称为“必负局”。
4. “必负局”原理:一个“必负局”,一次改动任何一个数,都将不再是“必负局”,同时,任何一个“非必负局”,通过正确地减少某个数,一定能变成“必负局”,并且这种操作是唯一的。设想现在是“必负局”,假如你先取,势必把其中的某个数的1改成了0,0改成了1,一定不再是“必负局”了,而我一定可以在把它变会“必负局”。其实这样的局势,相当于偶数,你取了,必定有对应我取的,所以我一定拿到最后一个。简单的想,考虑只有两堆,那么如果原来不相等,那就是“非必负局”,先取者有必胜方式,只要取多的一堆使得两堆相等,之后你取几个,我就从另一堆取几个。
5. 应用:(也许格式会改变)
19 010011
7 000111
5 000101
3 000011
010010 (18)10
也就是,还要18才能变成“必负局”,所以50-18=32
所以第1次只能在第5堆石子中取32粒,使得取出32粒后为“必负局”,即异或运算结果为0

这个游戏应该还有很多限制
如果没有加其他的限制,就没有必胜招。
我记得这个游戏有个规定。最多只能取几个。(例如4个)
你通过计算后,取了一定的数目后,留下的是比最多的多一个的倍数(5的倍数)然后你就取最多的数目(4个)减去他拿的数目,这样你就可以胜利了。而且是必胜的。

是啊,光这些的规则这游戏没法玩啊