首页 > 试题广场 >

有一幢100层高的大楼,给你两个完全相同的玻璃围棋子。假设从

[问答题]
有一幢100层高的大楼,给你两个完全相同的玻璃围棋子。假设从某一层开始,丢下玻璃棋子就会破碎。那么怎么利用手中的两颗棋子,用一种什么样的最优策略,知道这个临界的层高呢?
要使用最少的次数确定临界层高,我们讨论最优策略下的最坏情况。

使用平衡策略,不论每隔几层投掷,让投掷的总数次数相等。那么设每隔 m 层投掷一次,要使得投掷总次数一定,m向上应该是依次递减的,也就是:

m+m-1+m-2+m-3+......+1=100 推知:

13 < m < 14,

也就是说,最开始每隔14层1次,接下来每隔 13,12,11,10 ......层投一次。在这种情况下

不论是在第几层棋子破了,投掷的总次数总是一定的。
编辑于 2015-03-25 20:08:22 回复(1)

两个玻璃球求临界楼层问题

发表于 2018-08-22 21:21:07 回复(0)
采用二分法!
(1)在50层的时候丢下一个玻璃棋子,如果玻璃碎了,继续在25层丢下另一个玻璃棋子;如果第一个玻璃棋子没有碎,则在75层丢下第二枚棋子。
(2)在对应的位置判断第二枚棋子是否碎了,没有碎则继续二分查找处理 

发表于 2016-07-08 22:39:12 回复(2)
先从50层直接扔 75 87 依次扔直到一个棋子破碎
然后用另一个棋子从没碎的那一层逐层向上扔
如:50层碎了 1层逐层向上
75层才碎 从51层逐层向上
发表于 2020-01-21 17:07:51 回复(0)
只有两个棋子啊,怎么二分啊
发表于 2015-07-26 22:36:09 回复(0)
[(1+x)*x]/2 >= 100,x的最小值为14,故临界层高为14,各楼层分别为
14,27,39,50,60,69,77,84,90,95,99
发表于 2015-03-18 15:06:21 回复(3)
1234
发表于 2014-11-28 13:12:45 回复(0)

二分?

发表于 2014-11-09 18:13:03 回复(0)
首先,为了保证成功,两颗棋子不能全碎. 那么经过计算,第一次应该在16层尝试.如棋子碎则从1-15层继续尝试.这样最多尝试16次可以得到结果. 如16层棋子未碎,则第二次应该在16+16-1=31层尝试.这样可以保证最多尝试次数仍然为16次.往下类似. 这样得到最终结果是: 第一颗棋子应该依次在16,31,45,58,70,81,91这七层尝试.如在其中某层碎了则继续用第2颗在相邻两次尝试楼层中间继续尝试.这样最多只需要16次尝试可以确定此临界值.
编辑于 2016-02-13 18:20:03 回复(2)