100层楼扔两个鸡蛋

两个软硬程度一样但未知的鸡蛋,它们有可能都在一楼就摔碎,也可能从一百层楼摔下来没事。

有座100层的建筑,要你用这两个鸡蛋确定哪一层是鸡蛋可以安全落下的最高位置。可以摔碎两个鸡蛋。

最少需要几次测试,才能得到摔碎鸡蛋的楼层?方案如何?

问题转化:
两个鸡蛋, 扔k次, 最多测试多少层楼?

假设第一个鸡蛋从m层扔下, 有两种情况:
鸡蛋碎了, 这时只能从1 – m-1层一层一层地实验
鸡蛋没碎, 我们需要重新选择楼层。

可以推出楼层总数是sum = k + (k - 1) + (k - 2) + … +1 = k * (k + 1) / 2.
解方程得k ≥ 14;
在这里插入图片描述
同样, 当有三个鸡蛋时, k - 1次机会可以测试 k * (k - 1) / 2 层楼, 如果第一个鸡蛋没碎, 第二次在此基础上增加(k-1)(k-2)/2+1层楼。
可推出三个鸡蛋k次机会总测试楼层数为
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章