甜食爱好者
甜食爱好者
题目:
杰米和玛丽是两个喜欢吃蛋糕也喜欢数学的小孩.有一天大厨玛蒂娜给他们准备了两块一模一样的蛋糕后,杰米便说服玛丽来玩一个游戏.
游戏规则例如以下:杰米先把一块蛋糕分成两份,两份大小能够不同也能够同样.切完之后,玛丽决定是否要先选蛋糕.假设玛丽先选,他会选那份大的;假设杰米先选,玛丽能够预料杰米会选那份大的.
随后,杰米把另外一块蛋糕切成两份(请注意:他能够把一份切得很小).假设之前玛丽先选蛋糕,则这次由杰米先选;假设先前玛丽要求杰米先选,这次就由玛丽先选蛋糕.
题目来自:<<程序猿面试逻辑题解析>>
解答:
假设杰米把第一块蛋糕分成了: 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, 这样不论玛丽先选, 还是自己先选, 都能占到廉价.
写代码久了, 认为有点枯燥, 所以来看看这些逻辑题来开放思维.题目来自<<程序猿面试逻辑题解析>> 一本不错的书, 大家能够看看.