100层楼和两个玻璃球
来源:互联网 发布:mac战网agent更新不动 编辑:程序博客网 时间:2024/06/11 17:01
有一栋100层高的大楼,给你两个完全相同的玻璃球。假设从某一层开始,丢下玻璃球会摔碎。那么怎么利用手中的两个球,用什么最优策略知道这个临界的层是第几层???
投掷次数分布不均。按最坏情况估计,这种方法就多做了几次。为了使最坏情况的投掷数最小,我们希望无论临界段在哪里,总的投掷数都不变,也就是说投掷数均匀分布。
接下来的解决方案就很容易想出了:既然第一步(确定临界段)的投掷数增加不可避免,我们就让第二步(确定临界层)的投掷数随着第一步的次数增加而减少。第一步的投掷数是一次一次增加的,那就让第二步的投掷数一次一次减少。假设第一次投掷的层数是f,转化成数学模型,就是要求f+(f-1)+...+2+1>=99,即f(f+1)/2>=99(第一次测试点选择100层是无意义的,必然会碎,所以无任何测试价值,所以第一次测试点k是1-99中的一个数),解出结果等于14。丢下第一颗鸡蛋的楼层就分别是 14 , 27 , 39 , 50 , 60 , 69 , 77 ,84 , 90 , 95 , 99 。
- 100层楼和两个玻璃球
- 100层楼和两个玻璃球的问题
- 两个玻璃球和100层楼的问题
- 100层楼和两个玻璃球的问题
- 100层楼和两个玻璃球的问题
- 两个玻璃球和 100层高楼 问题
- 100楼层和两个玻璃球
- 两个玻璃球问题(Google)
- 100层楼丢玻璃球问题
- 玻璃球
- 两个玻璃球求临界楼层问题
- 两个鸡蛋100层楼(DP)
- 两个鸡蛋和一百层楼的问题
- [百度面试题]100层楼丢玻璃球问题
- [百度面试题]100层楼丢玻璃球问题
- 一百层高楼和两个棋子
- 100层楼两个杯子找杯子碎的临界点
- 谷歌面试题-100层楼两个棋子的问题
- 配置文件与注册表的读写
- 简单字符设备驱动和自动创建设备文件
- oracle 启动监听提示 :The listener supports no services
- SQL Server 数据挖掘系列(二) - 微软朴素贝叶斯算法
- 关于ASP.Net页面上用户控件相互调用的方法
- 100层楼和两个玻璃球
- 转文一篇献给辛勤工作的兄弟们
- java中的重写和重载
- PO/VO/DAO/BO/POJO是什么(JAVA几种对象的解释)
- select 实例程序
- 字符串Hash函数
- s3c2440在wince下 GPIO的操作方法
- 曾仕强-语录
- 创建数据库