HU妈 2008-7-17 09:18
请教猫老师,一叶轻舟等高手: 获胜决策问题
有三堆火柴, 第一堆有1根, 第二兑有4根, 第三堆有六根, 甲乙两人轮流取,可以同时取一根或一根以上,但每次只能在同一堆中取, 取最后一根的获胜,,请问甲乙的获胜决策.。
麻烦请给出解题思路和过程。 先谢谢了!.
一叶轻舟 2008-7-17 10:06
看到点名, 很是惶恐......
首先,俺不是高手,是业余的,千万别把俺同猫老师相提并论,搞得俺都不好意思回答呢
我儿子做过这种题, 我是这样教他的(仅供参考) ......
将各堆火柴根数都化成二进制,然后按位相加,但不进位。根据相加所得的和的各位数字来决定先取还是后取,
如果各位上不都是偶数, 则先取获胜, 反之, 则后取获胜。
同时,想要获胜的一方,必须总是控制住使剩下的根数化成二进制后,按位相加的和的各位数字都是偶数的局面。
如本题中, 1 化成二进制为 001
4 化成二进制为 100
6 化成二进制为 110
-------------------------------------------
和 化成二进制为 211
可见, 211 不都是偶数, 所以先取获胜, 取法是在某堆中取出若干根, 使其二进制的和各位都为偶数,
譬如, 可以在6那堆中取出1根, 使其剩5根
这样, 1 化成二进制为 001
4 化成二进制为 100
5 化成二进制为 101
------------------------------------
和 化成二进制为 202 (都是偶数)
然后, 依此类推,不管对方怎么取, 你都想办法使其二进制的和各位都为偶数即可
[[i] 本帖最后由 一叶轻舟 于 2008-7-17 10:30 编辑 [/i]].
shumi1 2008-7-17 10:15
回复 2#一叶轻舟 的帖子
能解释一下吗,为何化成2进制?谢谢.
一叶轻舟 2008-7-17 10:38
回复 3#shumi1 的帖子
因为二进制的各位只能是0或1
所以,如果其和的各位都为偶数的话, 则说明每一位上的1都能在其他堆里找到其相应位上的1(满足对称性),
于是, 无论对方怎么取, 我都有办法使其再配成和的各位为偶数的形式, 如此, 就能保证取到最后一根.
HU妈 2008-7-17 10:41
回复 2#一叶轻舟 的帖子
看懂了, 昨天研究了十进制这样转换成二进制。
一直以来喜欢看猫老师出题, 您还有一些其他高手解题,真得很佩服你们。.
一叶轻舟 2008-7-17 10:43
回复 5#HU妈 的帖子
能看懂吗? 太好了!
偶觉得用笨拙的语言能难表述清楚.
HU妈 2008-7-17 10:53
回复 6#一叶轻舟 的帖子
还有一个问题, 每次取数,怎样才能使其变为偶数? 有诀窍或规律吗? 比如,原各位相加为基数, 取数时能否直接判断该取走十进制表示的基数根或偶数根? 因为我很笨,每次都要计算,觉得还是蛮烦的。 能有个技巧就好了。.
HU妈 2008-7-17 11:00
回复 3#shumi1 的帖子
十进制整数转换成二进制,只要把整数除以2,取余数, 例如:
203
203/2 101......1
101/2 50........1
50/2 25........0
25/2 12..........1
12/2 6..........0
6/2 3...........0
3/2 1............1
1/2 0.............1
各余数倒着取, 上述数字换成二进制: 11001011
昨天学的, 不知道是否正确. 请高手指教!.
shumi1 2008-7-17 11:18
回复 1#HU妈 的帖子
我觉得,跟每堆的数量没关系,只跟堆数有关。
按题意,堆数是奇数,就先行;堆数是偶数,就后手。不是很简单的吗?还是我理解错了题意。.