甜食爱好者
题目:
??杰米和玛丽是两个喜欢吃蛋糕也喜欢数学的小孩.有一天大厨玛蒂娜给他们准备了两块一模一样的蛋糕后,杰米便说服玛丽来玩一个游戏.
??游戏规则如下:杰米先把一块蛋糕分成两份,两份大小可以不同也可以相同.切完之后,玛丽决定是否要先选蛋糕.如果玛丽先选,他会选那份大的;如果杰米先选,玛丽可以预料杰米会选那份大的.
??随后,杰米把另外一块蛋糕切成两份(请注意:他可以把一份切得非常小).如果之前玛丽先选蛋糕,则这次由杰米先选;如果先前玛丽要求杰米先选,这次就由玛丽先选蛋糕.
题目来自:<<程序员面试逻辑题解析>>
解答:
??假设杰米把第一块蛋糕分成了: f 和 (1-f) 两块, f>0 && f<1. 如果此时玛丽先选, 假设玛丽先选了f(当前f>1-f 即 f>=1/2). 第二次分蛋糕. 如果第一次玛丽先选, 那么第二次杰米就可以把大的分得接近于1, 那么杰米得到的将是: (1-f)+1, 玛丽只得到了: f; 如果第一次是杰米先选了f, 第二次杰米汇尽量将蛋糕分成 1/2, 那么杰米得到的蛋糕是: f+1/2. 综合两次的顺序发现: 如果 (1-f)+1 == f+1/2 的时候是对杰米最有利的, 因为不论怎么分第一块, 他都可以比玛丽拿的多. 解出来: f=3/4. 所以答案就是杰米第一次切蛋糕需要将蛋糕切成: 1/4 和 3/4, 这样不论玛丽先选, 还是自己先选, 都能占到便宜.
写代码久了, 觉得有点枯燥, 所以来看看这些逻辑题来开放思维.题目来自<<程序员面试逻辑题解析>> 一本不错的书, 大家可以看看.
时间: 2024-10-23 10:31:39