骆驼吃香蕉问题

来源:互联网 发布:淘宝上的凌美是真的吗 编辑:程序博客网 时间:2024/05/16 23:39

骆驼吃香蕉的问题

    一共3000个香蕉,骆驼每次只能运送1000只,要送到1000里之外,并且骆驼每走1里要吃一个香蕉,问怎么走才能使剩下的香蕉最多。


主要解决思路:  
①骆驼先载上1000个香蕉 走到某一处,然后放一些香蕉在路上某处。
再带上一些香蕉 边走边吃返回到起点  
②重复上述过程,直到还剩余香蕉全部都搬运到路上某处.
③最后重复①②过程

现在的问题就出现了 走到某处? 到底走到哪里呢?
一开始,有3000个香蕉 那么在通往终点的方向上的同一段路 要走3次
该段路程反方向要走2次
如果只剩了2000个香蕉 那么在通往终点的方向上的同一段路 要走2次
该段路程反方向要走1次

很显然 可以用剩余香蕉的数量来分隔。

从3000个香蕉到刚好剩余2000个香蕉  
消耗了1000个香蕉(骆驼行走路程为1000m)
在同一段路要走3+2=5 次
那么这段路只有 1000/5=200m 此时走过200m 剩余2000个香蕉

从2000个香蕉到1000个  
又消耗了1000个香蕉(骆驼行走路程为1000m)
根据上述推论 在在同一段路要走1+2=3 次
那么又走过1000/3=333.3m

最后剩余1000个
距离终点只有1000-200-333.3=466.7m
那么只用消耗467个香蕉
最后剩余1000-467=533个香蕉