这个智力测试谁会?有一座50层(第1层到第50层)高的高楼,有两个相同的鸡蛋.鸡蛋在高楼的某一层楼落下会摔碎,低于这一层楼落下都不会被摔碎.比如在第N层落下刚好摔碎,第1---(N-1)落下时不会
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/03 02:33:06
这个智力测试谁会?有一座50层(第1层到第50层)高的高楼,有两个相同的鸡蛋.鸡蛋在高楼的某一层楼落下会摔碎,低于这一层楼落下都不会被摔碎.比如在第N层落下刚好摔碎,第1---(N-1)落下时不会
这个智力测试谁会?
有一座50层(第1层到第50层)高的高楼,有两个相同的鸡蛋.鸡蛋在高楼的某一层楼落下会摔碎,低于这一层楼落下都不会被摔碎.比如在第N层落下刚好摔碎,第1---(N-1)落下时不会被摔碎,第N---50落下时会被摔碎.(比如N=20时,在第20层楼落下时刚好摔碎,在1-19层鸡蛋落下时不会摔碎,第20-50层鸡蛋落下时会摔碎).请问设计一种策略利用2个鸡蛋使用最少次数找出N.(鸡蛋摔碎了不能再使用)
我找到答案了 是这样的:
首先,每隔十层楼将鸡蛋丢下,从10层、20层……依次丢下一个鸡蛋.这样最差
的情况是在第50层楼上,鸡蛋被摔碎.然后,从第41层开始每隔一层丢一次,
最差的情况是到第49层摔碎.这样,最多实验14次就可以找到鸡蛋不被摔碎的
最高楼层
不过还是谢谢你
这个智力测试谁会?有一座50层(第1层到第50层)高的高楼,有两个相同的鸡蛋.鸡蛋在高楼的某一层楼落下会摔碎,低于这一层楼落下都不会被摔碎.比如在第N层落下刚好摔碎,第1---(N-1)落下时不会
如果第一层也需要测试的话,那就从第二层测起.
如果第二层扔下鸡蛋会摔碎,那就回来一层测另一个鸡蛋,看看N是一层还是二层.
如果第二层测试鸡蛋不碎,那就跳到四层测试.还不碎.六层.不碎.八层.如此测试.直到在某一层(X层)测试到鸡蛋碎了,那就倒回X-1层测试剩下的那个鸡蛋,找出N是X还是X-1.
也就是如果你用跳过一层的方式一直测到30层,鸡蛋会碎了,那就倒回29层测另一个鸡蛋.就知道N是29还是30.
既然有两个鸡蛋那就用跳过一层的方法,有三个就跳过两层的方法.个人见解,看不出此题哪里还有妙点,应该就是这个方法.