大菠萝

大菠萝-ama+sor

取10枚硬币问题-第2天

有10枚硬币。双方轮流从中取走1枚、2枚或者4枚硬币,谁取最后一枚硬币就算输。请问:该怎么做才能获得胜利?

可以分析得出最少需要3次,最多需要5次即可分出胜负。需要3次或5次的情况,肯定为先取的人输。需要4次的情况如下(1,1,4,4)(1,4,4,1)(4,1,1,4)(4,4,1,1)也就是说只要后取者避免了上面4种情况的出现即可100%获胜,其中(1,4,4,1)为无法挽救。


相关阅读

tags:

Posted by benben on November 01,2008 7:55 PM in 心情随笔 ||Comment(6)
6个脚印
第1脚: Byron November 06,2008 11:41 PM

可以分析得出最少需要3次,最多需要5次即可分出胜负。
何解?
两个人可以轮流着一人拿一枚。

第2脚: Byron November 06,2008 11:44 PM

其实这是一个后发制人的局面。
谁先开局谁输。

第3脚: Byron November 06,2008 11:53 PM

思路如下:
因为:谁取最后一枚硬币就算输
so:轮到我取的时候剩下2、3、5我就会赢
and:我要让盘子里剩下4
so:轮到我取的时候剩下5、6、8我会赢
end:所以不管第一个人取多少,第二个人都会赢。

第4脚: benben November 07,2008 8:19 AM

双方轮流从中取走1枚、2枚或者4枚硬币,的意思不是1,2,4都只能取一次吗?你说的那个是编程之美里面的题目。

第5脚: Byron November 07,2008 1:32 PM

呵呵,你理解错啦。
是这样的:有10枚硬币。双方轮流从中取,每次只能取走1枚、2枚或者4枚硬币,谁取最后一枚硬币就算输。请问:该怎么做才能获得胜利?

第6脚: benben November 07,2008 1:59 PM

呵呵,应该是我理解错了,谢谢提醒撒。

留言




早起的鸟儿有虫子吃


e.g. "大菠萝"