一个猴子,身带100个香蕉,他距离家50米. 这个猴子要带香蕉回去.但是他一次最多只能背50个香蕉. 而且,每走一米他就要吃掉一个香蕉(往回走也要吃香蕉). 问:这个猴子最后
此问题可以化简为:猴子带50个香蕉走到x米处原路返回取走剩下50香蕉走到终点,问x取何值终点香蕉最多。【化简理由:由于折返路上会损耗香蕉,100=50*2,故只需并只必折返一次。】
下面开始计算。带50个走x米剩余(50-x)香蕉,放下(50-2x)香蕉在原地,携带x香蕉返回原点,x香蕉正好被路上消耗。带50香蕉走x米至前面放香蕉的地方,此时共有(100-3x)香蕉。接下来能够携带的香蕉数为50与(100-3x)中的小者,两种情况走(50-x)米到达终点香蕉分别还剩x个以及(50-2x)个。
当50<(100-3x)时(x最大值为16)剩余x香蕉,应取x最大值即剩余16香蕉
当50>(100-3x)时(x最小值为17)剩余(50-2x)香蕉,应取x最小值即剩余50-34=16香蕉
可见x=16或17时均可实现最优化即剩余16香蕉。数学解题角度,x取16或17均可。实际角度,就关爱动物以及资源节约方面考虑取x=16最优。
作者:JHyoooo W
链接:https://www.zhihu.com/question/25019587/answer/29817473
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
假设我把题目变成一共200根萝卜,兔子要走100米才能到家,每走1米同样消耗1根萝卜。按照你的方法计算的话,兔子最多带回家32根。 但其实可以带回家33根的(将100根萝卜先带到33米处放下34根,回到最初的地方再拿剩下的100根带到33米处,此时33米处一共有101根,但兔子只拿100根走完剩下的67米,正好带回家33根)