@[TOC]猴子背香蕉的最强解答
猴子背香蕉的最强解答
有只小猴子在树林里摘了100根香蕉,小猴的家离香蕉堆放的地方有50米.小猴要把香蕉背回家,而它每次最多背50根,可小猴嘴馋,每走一米就要吃掉一根香蕉.想一想小猴最多能背回家几根香蕉?
答案
先鄙视一下流传的答案50根
两个答案:100根或16.6666666根。
分歧
是哪个答案取决一个前提:猴子手上没香蕉的时候会怎么样,1不吃,答案选100根;2会死,答案选16.6666666根
过程1
对于1的,每次走0.49米,然后放下香蕉往回走,晃荡晃荡等瘾发作了再回到原位继续搬香蕉。所以一个香蕉都不吃到达50米。
过程2
对于2的,猴子每次携带x个香蕉(另外提前说一下x=总香蕉-50),向前移动d距离,消耗掉d个香蕉,往回走再消耗d个香蕉,使得x-2d个香蕉位于+d处,且猴子不动,做功=(x-2d)d,在这里x是常数d是变量,解方程最值得到d=x/4最优,也就是:
过程A:搬运x个香蕉,使x/2个香蕉移动到x/4处,消耗x/2个。
开始模拟:
从初始开始一共100个香蕉位于0米处,令x=50,执行A过程
得到:25个香蕉位于12.5米处,猴子和50个香蕉位于0米处。
再令猴子带着50个香蕉前进到12.5米,途中损失12.5个香蕉。
此时:25+37.5=62.5个香蕉,和猴子,位于12.5米处。
这个大过程B中,x=(当前香蕉-50)=50,一共消耗3x/4=37.5个香蕉,使50+x/4=62.5个香蕉,移动到+x/4=12.5米
所以每消耗3x/4个香蕉,能令所有香蕉50+x个,前进x/4米距离。
关键就在于3X/4 ÷ x/4 = 3
将100个香蕉分成不能一波带到终点的x=50个香蕉,和一波带到终点的50个香蕉,不断前进直至消耗光前50个,一共能前进50/3的距离,也就是某个时刻,在50/3=16.666米的距离处有猴子和50个香蕉。接着从此再把香蕉一波带走,消耗(50-16.666)个香蕉前进(50-16.666)米距离 到终点,自然剩下50-(50-50/3)=50/3=16.66666根香蕉