程序员笔试智力题:建筑楼有100层,若曾第N层或更高的楼层扔下来,鸡蛋就会摔碎。若从第N层以下的楼层扔下鸡蛋不会摔碎。给你两个鸡蛋,请找出N,并要求最差情况下扔鸡蛋次数最少。

分析:试着从10楼开始扔鸡蛋,然后是20层,30层。。。。。100层

如果鸡蛋1在第十层(随便举例子的一个数值也可以是别的数,看到后面就会知道这个值应该取14,但是刚开始分析谁也不知道该取14不是么)扔下,鸡蛋摔碎。那么第二个鸡蛋只需要从1-9层依次扔下去试就能试出来是1-10中的第几层,所以最差在恰好在第十层才能摔碎,结果是1+9=10次

如果鸡蛋1在第100层是才摔碎,实验楼层依次是:10层、20层、30层、、、100层,试验了10次。在第90层时鸡蛋没有摔碎,但是在100层摔碎了。这说明N在[90,100]区间内,所以鸡蛋2只需要从91层楼开始试验,最差一直试验到99层必然会测试出N的值。最差次数:鸡蛋1的次数10次 + 鸡蛋2的次数9次 = 19次。

设计一种扔鸡蛋的方法,使得扔鸡蛋1的次数无论是第一次还是最后一次扔下的次数越稳定越好。

负载均衡方法:扔鸡蛋 1的次数 和扔鸡蛋2的次数的和 不论什么时候都是一样的,鸡蛋1多扔一次鸡蛋2 就少扔一次,假如开始扔鸡蛋1的初始楼层是x层,那么扔鸡蛋2初始楼层是由扔鸡蛋1是否摔碎决定的。即,鸡蛋1摔碎的那一楼层 和 扔鸡蛋1的摔碎之前扔的那一次楼层数之间的差值减1(假设鸡蛋1从20层开始扔下,没碎;从30层扔下,碎了,那么鸡蛋2 就得从21层开始扔,最差一直扔到29层就能判断出N的值了),如果在x层扔下没碎,那么下一次扔的楼层就是x+x-1层(第一次是20层,下一次就是20+20-1=39层)鸡蛋2的次数相应的就减去1次;第二次没碎,下次从x+ x-1 + x-2层扔下(承接上面括号的例子:20+19+18 = 57层),依次类推.....

也就是 : x +  (x-1)+ (x-2)+。。。+1=100求一下x值   x =  14.先从14层往下扔,没碎的前提下再从14+13=27层往下扔。最差的情况下就是第一次在14层恰好摔碎了,鸡蛋2只需要从1-13层个扔一次就能判断出N的值了
————————————————
版权声明:本文为CSDN博主「Yi骑绝尘」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/abe_abd/article/details/77710356

程序员智力题:100层楼扔鸡蛋,确定鸡蛋摔碎的楼层N相关推荐

  1. 100层楼扔2个鸡蛋、3个鸡蛋……

    原题目 现有2个鸡蛋,楼高100层,假设从n层楼及以上扔下会摔碎,n层以下不会,那么怎样扔能以最小的次数得到n? 分析 最先想起来的是二分法的题目:100层最少需要扔多少次鸡蛋才能求得n?答案是cei ...

  2. 是时候展现真正的技术了!4道程序员智力题你能对几道| IT巨能唠

    程序员对很多人来说那就是个神秘组织,高薪.加班多都是他们的代名词.但是,大家好像还忘了一点,那就是他们也绝对聪明!黑客.代码天才.编程老手--层出不穷,晦涩的计算机难题也是分分钟搞定,想想就令人神往. ...

  3. 抛鸡蛋html5游戏,数学智力题:扔鸡蛋计算不会碎的楼层

    智力题涵盖数学天地.侦探谜题.逻辑思维.猜谜大全.趣味益智.图形视觉等等.你知道有哪些经典智力题吗?下面小编为你整理经典数学智力题,希望能帮到你. 数学智力题:扔鸡蛋计算不会碎的楼层 扔鸡蛋计算不会碎 ...

  4. 好程序员Java培训分享20个Java程序员基础题

    好程序员Java培训分享20个Java程序员基础题1.谈谈final.finally.finalize的区别 final用于声明属性,方法和类,分别标识属性不可变,方法不可覆盖,类不可继承. fina ...

  5. android程序员周记,程序员实习周记100篇

    程序员实习周记100篇 有效防止雷同!简单修改即可使用! 姓名:XXX 学号:20190920008 专业:M] 指导老师: 实习时间:20XX-XX-XX-20XX-XX-XX 2019年XX月XX ...

  6. SUN Java程序员认证题库(2019年版)

    SUN Java程序员认证题库(2019年版) 2019年5月份考试题库 下载链接:https://download.csdn.net/download/s894792409/11214390

  7. 关于100层楼,扔两个鸡蛋,求摔碎鸡蛋的临界层的问题

    题目描述: 两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事.有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置.可以摔碎两个鸡蛋. 网上有人 ...

  8. C语言丢鸡蛋100层,关于100层楼,扔两个鸡蛋,求摔碎鸡蛋的临界层的问题

    题目描述: 两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事.有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置.可以摔碎两个鸡蛋. 网上有人 ...

  9. 100层楼扔鸡蛋或者玻璃珠问题

    ---------------------------以下网上别人的解答---------------------------------------------- 有一栋楼共100层,一个鸡蛋从第N ...

最新文章

  1. IOS7 开发注意事项
  2. load、loads、dump、dumps的区别
  3. java log4j 多个文件_为什么log4j会记录到两个单独的文件? [重复]
  4. 云效83行代码重构大师赛-码力全开,重启方舟
  5. Delta3d动态角色层
  6. 免费申请 Office365 E5 开发者订阅
  7. jQuery UI dialog插件出错信息:$(this).dialog is not a function
  8. 中国首枚芯片邮票问世:搭载NFC芯片 可APP读取
  9. Element UI的表格table列的宽度自适应设置
  10. 【浙江大学PAT真题练习乙级】1005 继续(3n+1)猜想 (25分) 真题解析
  11. mysql 不等于查询优化_MySQL查询性能优化
  12. python爬虫刷网课答题_python实践:利用爬虫刷网课
  13. sin x 的值python_sin(x)/x的数值积分
  14. 使用opencv进行车牌提取及识别
  15. 简单工厂模式 简单例子
  16. 日赚1.7亿!华为发布2020年度财报!附华为十大5G应用场景
  17. 两万字深度讲解系统设计!超详细解析!面试复习必备!
  18. 主机配置文件(HostProfiles)的创建与应用
  19. Python 编程摘要
  20. 【“工业大数据预测”系列】——第3篇:基于统计和信号的特征提取

热门文章

  1. springcloud(1/3)
  2. 文本检测 OpenCV EAST 文本检测器 源代码
  3. INS - 32012
  4. 佛山科学技术学院计算机期末试题,佛山科学技术学院 2002-2003学年第一学期概率与数理统计试卷(A卷)...
  5. python绘图没有红色_Matplotlib 3D散点颜色在红色后丢失
  6. 《好想好想谈恋爱》插曲整理
  7. 不用下载软件,教你轻松在线修改照片大小
  8. 单变量线性回归模型与结果解读
  9. Unity3d自动隐藏顶部工具栏
  10. 如何判断平面上两条线段(注意是线段)是否相交?