———————————————————————————— (¯﹃¯)从第一层到第100层,一层层扔绝对不是正解 运气好的话,肯定是一层就能试出来,但假设运气最不好呢? ……………………………………………………………………………………… 首先,俩易想到的思路,简述一下 ……………………………………………………………………………………… 第一个,二分法,就是第一个杯子在50层扔,那么,若没碎,那确实仍会范围缩小。但若碎了,剩下一个只能从第一层到第49层一个个试,那么运气最不好,就要试50次。[也就是此方法,运气最不好要试50次] ……………………………………………………………………………………… 第二个,分层,以每10个分层(或者说一组),就是第一次在第10层(第一分层)扔,若碎再试1-9层(需试1+9次);若不碎第二次在第20层(第二分层)扔,若碎再试11-19层(需试2+9次)…………运气最不好在第10分层(组),就是要试10+9次[也就是此方法,运气最不好要试19次] ……………………………………………………………………………………… 到重点了,上最后一个方法,对第二个进行优化,使得每分层(组),运气最不好时应该试的次数一样,那么就是第一次在第x层试,下次在x加x-1层试……。 这里提前说下,第一次分层扔应在第14或15层扔,可以先思考下为什么? 那个为啥是14和15是由于 它思路是在按10分层的基础上,使得每次分的那个地方,尝试的次数尽可能一样 原本是,若在每次分层的那个地方碎,会试10,11,12,13……19次 它希望这些次数是一样的,那么每次分层的地方试出的次数应该是(10+19)/2=14.5,因为是整层碎,就要考虑第一次扔是14层还是15层好(他们都是在第一次n层试,下次在n-1层试) 15层的话,就是15+14+13……+7=99,再加一就是100,15-7+1=9,一共9个数,那么若在最后一次分层那个地方碎,就是要试10次,若是其它分层处碎,就是15次 14层的话,14+13+12+11+……+4=99,再加一为100,14-4+1=11就是11个数,那么在最后一个分层碎就是要试11+1=12次,若在其它分层碎就是要试14次 ……………………………………………………………………………………… 最后一个方法还一个简单理解思路 10乘10等100, 9乘9等于81,但为了那个匀次数,实际是9个不一样的数,即15+14+……+7(共9个数) 11乘11等于121,但为了匀次数,实践是11个不一样的数,即14++13+12+……+4(共11个数) 11和9最接近10,其它不用想 ……………………………………………………………………………………… 版权声明:本文为CSDN博主「叶仙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/m0_61979183/article/details/125452962