题目
有一种玻璃球,需要测试它的强度,方法是通过高空坠落的方式进行(大于承载高度玻璃球会摔碎)。假设玻璃球的强度在(1,100)的楼层之间,给你2个小球,请问至少()次才能测量准确,这种情况下优先尝试的楼层是第()层?
A.14 14
B.50 50
C.100 1
D.7 32
解答
正确答案是 A
解析:
首先题目说只有两个球,那测试的方法只能是:
由第一个球去探测区间,而由第二个球在区间中由小到大的来一个个试探
以十层为例,最优的方式为如下图:
1
2 5
3 6 8
4 7 9 10
第一个球从最下一层从左往右测试,如果碎裂就用第二个球从该列从上到下测试(不必测试最后一行)
这样不论什么情况最坏情况下也只需要测试4次。
我们可知10 = (4 + 5)/ 2 等差数列
也就是当最后一列的边为n时 最多可以测试楼层为f(n)=(n*(n+1)/2),
当f(n)>=100带入,得到最小的n为14,
所以最少需要14次才能测量准确。
但是最开始测试的楼层应该也是14楼而不是40楼。
很基础的题,但还是要细心才能做对
比之前听的课更好懂