码迷,mamicode.com
首页 > 其他好文 > 详细

100层的大楼,用2个玻璃球,确定在那层丢下玻璃球刚好会碎?【?】

时间:2014-06-10 20:11:08      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:blog   http   tar   get   art   .net   

有一栋100层高的大楼,给你两个完全相同的玻璃球。假设从某一层开始,丢下玻璃球会摔碎。那么怎么利用手中的两个球,用什么最优策略知道这个临界的层是第几层???

 

解答如下:

http://blog.csdn.net/lzshlzsh/article/details/5951447

  投掷次数分布不均。按最坏情况估计,这种方法就多做了几次。为了使最坏情况的投掷数最小,我们希望无论临界段在哪里,总的投掷数都不变,也就是说投掷数均匀分布。

     接下来的解决方案就很容易想出了:既然第一步(确定临界段)的投掷数增加不可避免,我们就让第二步(确定临界层)的投掷数随着第一步的次数增加而减少。第一步的投掷数是一次一次增加的,那就让第二步的投掷数一次一次减少。假设第一次投掷的层数是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层的大楼,用2个玻璃球,确定在那层丢下玻璃球刚好会碎?【?】,布布扣,bubuko.com

100层的大楼,用2个玻璃球,确定在那层丢下玻璃球刚好会碎?【?】

标签:blog   http   tar   get   art   .net   

原文地址:http://www.cnblogs.com/tianxue/p/3779432.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!