`
cloudtech
  • 浏览: 4607091 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

骆驼和香蕉的问题

 
阅读更多
总共有3000只香蕉,有一只骆驼每一次只能带1000只香蕉,每1公里吃1只香蕉,没有香蕉吃它是不肯走的,A-B 点距离1000公里,如果这个骆驼要从A点到B点有

什么办法可以让更多的香蕉剩下来?如何做到?如何最有效率的运最多的香蕉到B点?




首先需要明确思考的基本原则:让吃了香蕉的骆驼在走路的时候尽量多负重,或者说让它吃香蕉时身边的香蕉保持最多。最直接的算法是让它吃一只香蕉,然后看它能把所有剩余的香蕉运多远。比如开始3000只香蕉需要运2.5个往返也就是5个单程,所以一只香蕉只能让它运0.2公里。之后再吃下一只香蕉,重复此过程。

另外需要和考官明确一点:吃香蕉这一动作是瞬时还是连续过程?或者说骆驼是吃完香蕉再走路还是边吃香蕉边走路?这可能会造成最后结果有少量出入、


--------------------------
先假设吃香蕉的过程是瞬时的,而且是先吃完香蕉再走路,可有如下过程:
第一次从0公里推进至0.2公里,往返两次半,总行程1公里,消耗1只香蕉
第二次从0.2公里推进至0.4公里,往返两次半,总行程1公里,消耗1只香蕉
....
第五次从0.8公里推进至1公里,往返两次半,消耗1只香蕉
以上五次累计推进1公里,消耗香蕉5根
重复上述过程,至200公里处,消耗1000只香蕉,还剩2000只香蕉

之后从200公里推进到200.33公里,往返一次半,总行程1公里,消耗1只香蕉
从200.33公里推进到200.67公里,往返一次半,消耗1只香蕉
从200.67公里推进到201公里,往返一次半,消耗1只香蕉
重复上述过程,至533公里处,消耗999只香蕉,还剩1001只香蕉


此时让骆驼吃掉一只香蕉,然后驮着1000只香蕉出发直达目的地。期间描述如下:
在534公里处,骆驼需要吃掉一只香蕉才肯再走
......
在1000公里出,已到达终点,不需再喂骆驼香蕉
因此到1000公里处时,一共消耗466只香蕉,最终剩余534只香蕉


-------------------------
进一步分析,上述过程可以简化为三段运输:
第一次从0公里直接推进至200公里,往返两次半,消耗1000只香蕉,还剩2000只
第二次从200公里直接推进至533公里,往返一次半,消耗999只香蕉,还剩1001只
第三次在533公里吃掉一只香蕉后,从533公里直接推进至1000公里,过程中再消耗466只香蕉,最终剩余534只


-------------------------
又如果假设吃香蕉的过程是连续过程,是边吃完香蕉边走路,那么上述过程的后段变化如下:
在533公里处骆驼吃一只香蕉的过程中往返1.5次,可以将1000只香蕉向前运1/3公里
也就是说在533.33公里处,还可以剩余1000只香蕉,这样到达1000公里时,可以剩余533.33只香蕉。
当然如果1/3只香蕉不算的话,可以算做533只。但是根据假设,吃香蕉是连续过程,因此确实是剩余了533.33只香蕉。换一个说法,在连续过程的假设条件下,骆驼是能够把533只香蕉运到1000.33公里处的


-------------------------
两种假设对比,瞬时动作情况下吃掉的香蕉不占负重,所以可以运更多的香蕉到达目的地


-------------------------
另,前两个问题的表述是有缺陷的:这个骆驼要从A点到B点有什么办法可以让更多的香蕉剩下来?如何做到?
问题一和问题二中没说要把香蕉运到B点,只说骆驼要去B点。因此让骆驼带1000只香蕉走到B点。这样可以让2000只香蕉剩下来,当然这些香蕉还在A点。


-------------------------
还有啊,用一只骆驼运这么多香蕉是不人道的,也是极其没有效率的。
假设骆驼行走速度是每小时5公里,每天行走12小时,题目中的骆驼一共要走约2466公里,大约要走四十多天。香蕉的保鲜期能有这么久吗?如果香蕉过了保鲜期,骆驼吃了会拉肚子的,拉肚子时间长了会有生命危险。
所以,请楼主一定要认真考虑此方案的可行性,不要走到半道把骆驼饿死了。有同学建议先在本地市场卖掉一些香蕉,然后通过火车运输剩余的香蕉,我认为这是一个更加可行的方案。

来源:http://zhidao.baidu.com/question/106376739.html

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics