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

首先,我们以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次。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值