100层楼两个杯子找杯子碎的临界点

来源:互联网 发布:董小飒淘宝店网址 编辑:程序博客网 时间:2024/04/25 22:14

首先,我们以10为区间,则得出(1,10)(11,20)(21,30)(31,40)(41,50)(51,60)(61,70)(71,80)(81,90)(91,100)则最大的需要20次,具体的方法是:先从10层摔下,若不碎,则从第二十层再摔,如此内推,我们可以找到一个临界区间,如(51,60),我们再从51开始,一层一层的往下摔,摔碎的那一点是临界点,则这样平均少于20次。

通过这个方法,我们可以知道,平均次数少于20次,则最优的结果毕竟是不会超过20次的。我们做这样的考虑,每一次比较,我们都让这一次比较的次数抵消掉前一次比较过的次数,亦即区间的范围逐渐减小,如(1,10)(11,19)(20,27)...(54,55)56 57 .... 100,这到了第56以后就不能保证该次比较的次数抵消掉上一次比较过的次数,这不成立,我们接着用12,13比较也不行,当我们用14时,我们可以得出范围为(1,14)(15,27)(28,39)... (96,99)100,则可以得出少于14次。

0 0
原创粉丝点击