骆驼吃香蕉问题

总共有3000只香蕉,有一只骆驼每一次只能带1000只香蕉,
每1公里吃1只香蕉,没有香蕉吃它是不肯走的,A-B 点距离1000公里,
如果这个骆驼要从A点到B点有什么办法可以让更多的香蕉剩下来?
如何做到?如何最有效率的运最多的香蕉到B点?

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

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

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

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

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

因为香蕉的浪费全部都是浪费在往返的路程中,所以只要往返的路程最短就能运送最多的香蕉。

posted on 2011-10-08 14:52 メmarsメ 阅读(454) 评论(0)  编辑 收藏 引用 所属分类: AL


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2011年10月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

导航

统计

常用链接

留言簿

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜