google的提问----有一撞100层高的大楼- - - -

来源:百度知道 编辑:UC知道 时间:2024/06/23 17:13:40
GOOGLE---谢谢您。有一撞100层高的大楼,给你两个完全相同的玻璃围棋子。假设从某一层开始,丢下玻璃棋子就会摔破,那么怎么利用手中的两颗棋子,有一种什么样的最优策略,知道这个临界的层高呢?

令n=1;
先在第3n层,丢下第一个棋子
如果碎了
就3n-2层楼,丢下第二个棋子
如果碎了
那么临界高度就是3n-2层
否则
到3n-1层楼,丢下第二个棋子
如果碎了
那么临界高度就是3n-1层
否则
临界高度是3n楼
否则n增加1
继续重复上面的步骤,直到n=33,如果依然不破,那么就上100层丢棋子.

从n=0开始,然后n=1,2,3......24
for(n=1;n<=33;n++)
{
在第3n层,丢下第一个棋子
if碎了
就到第3n-2楼,丢下第二个棋子
if碎了
那么临界高度就是3n-2楼
else
到第3n-1楼,丢下第二个棋子
if碎了
那么临界高度是3n-1楼
else
临界高度是3n楼
else
if(n等于33)
就到100层丢下第一个棋子
if碎了
那么临界高度为100楼
else
临界高度不存在
}

或者
for(n=0;n<=25;n++)
{
在第4n+3层,丢下第一个棋子
if碎了
if(n!=0)
到第4n楼丢下第二个棋子
if碎