zoukankan      html  css  js  c++  java
  • 甜食爱好者

    甜食爱好者


    题目:

      杰米和玛丽是两个喜欢吃蛋糕也喜欢数学的小孩.有一天大厨玛蒂娜给他们准备了两块一模一样的蛋糕后,杰米便说服玛丽来玩一个游戏.
      游戏规则例如以下:杰米先把一块蛋糕分成两份,两份大小能够不同也能够同样.切完之后,玛丽决定是否要先选蛋糕.假设玛丽先选,他会选那份大的;假设杰米先选,玛丽能够预料杰米会选那份大的.
      随后,杰米把另外一块蛋糕切成两份(请注意:他能够把一份切得很小).假设之前玛丽先选蛋糕,则这次由杰米先选;假设先前玛丽要求杰米先选,这次就由玛丽先选蛋糕.

    题目来自:<<程序猿面试逻辑题解析>>


    解答:

      假设杰米把第一块蛋糕分成了: 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, 这样不论玛丽先选, 还是自己先选, 都能占到廉价.

    写代码久了, 认为有点枯燥, 所以来看看这些逻辑题来开放思维.题目来自<<程序猿面试逻辑题解析>> 一本不错的书, 大家能够看看.

  • 相关阅读:
    flask-login
    python3安装scrapy框架
    Redis--对象共享(整数型字符串)
    Redis--对象(type、encoding、ptr、lru、refcount)
    Redis--内存回收(引用计数法)
    Redis--跳跃表
    Redis--压缩列表(节约内存,连锁更新)
    Redis--整数集合(升降级)
    Redis--Rehash(h[0],h[1],rehashIdx, 渐进式)
    Redis--解决Hash表键冲突(单向链表next指针,表头)
  • 原文地址:https://www.cnblogs.com/yfceshi/p/7067384.html
Copyright © 2011-2022 走看看