问题:
有n个瓶子,有一个奖品,游戏者需要猜出奖品在哪个瓶子中。
有n个黑色的瓶子(以至于游戏中看不到瓶中是否有东西)设从0到n-1编号,一字排开。
每一次如果游戏者猜错了,那么奖品会各以50%的概率移动到左边或者右边的瓶子中。
当奖品位于最左边或者最右边,游戏者猜错时,奖品必然右移或者左移。
请问,游戏者最少需要猜多少次,可以保证猜到奖品位置。
ps:好像是网易游戏面试题,比较有意思。
分析:
乍一看,感觉是无解,根本不可能猜得到。这也是有意思的地方。
先假设8个瓶子,1.2.3.4.5.6.7.8
1)假设奖品在奇数中,比如在3。
先按顺序来点,1点一次,没有就点2号,一真点到最后,即点8次。
点1时,没有,奖品变偶数。点2,没有,奖品变奇数,并且不可能为1.因为要变1,必须通过2,但是2没有。
所以奖品3或3以后的奇数中。现在在点3,若没有奖品则变偶数,且不可能为2,原因一样。
这样按顺序点到最后,肯定能够找到奖品。如果没有找到,就说明假设不成立,奖品最初在偶数位置中。
2)假设奖品在偶数中,比如在4。
那就从2开始点下去,原理同上,肯定能找到,否则假设不成立。
综上,扫描两遍,肯定能找到奖品!