猴子背香蕉问题
来源:互联网 发布:中医看病软件 编辑:程序博客网 时间:2024/04/28 19:37
一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,(多了就被压死了),它每走
1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。(提示:他可以把香蕉放下往返的走,但是必须保证它每走一米都能有香蕉吃。也可以走到n米时,放下一些香蕉,拿着n根香蕉走回去重新搬50根。)
解析:这种试题通常有一个迷惑点,让人看不懂题目的意图。此题迷惑点在于:走一米吃一根香蕉,一共走50米,那不是把50根香蕉吃完了吗?如果要回去搬另外50根香蕉,则往回走的时候也要吃香蕉,这样每走一米需要吃掉三根香蕉,走50米岂不是需要150根香蕉?
其实不然,本题关键点在于:猴子搬箱子的过程其实分为两个阶段,第一阶段:来回搬,当香蕉数目大于50根时,猴子每搬一米需要吃掉三根香蕉。第二阶段:香蕉数《=50,直接搬回去。每走一米吃掉1根。
我们分析第一阶段:假如把100根香蕉分为两箱。一箱50根。
第一步,把A箱搬一米,吃一根。
第二步,往回走一米,吃一根。
第三步,把B箱搬一米,吃一根。
这样,把所有香蕉搬走一米需要吃掉三根香蕉。
这样走到第几米的时候,香蕉数刚好小于50呢?
100-(n*3)<50 && 100-(n-1*3)>50
走到16米的时候,吃掉48根香蕉,剩52根香蕉。这步很有意思,它可以直接搬50往前走,也可以再来回搬一次,但结果都是一样的。到17米的时候,猴子还有49根香蕉。这时猴子就轻松啦。直接背着走就行。
第二阶段:
走一米吃一根。
把剩下的50-17=33米走完。还剩49-33=16根香蕉。
- 猴子背香蕉问题
- 猴子背香蕉
- 猴子背100根香蕉问题程序实现
- 猴子搬香蕉问题
- 猴子搬香蕉问题。
- 猴子和香蕉问题
- 猴子搬香蕉问题
- 猴子搬香蕉问题
- 猴子搬香蕉问题
- 猴子拿香蕉的问题
- 猴子搬香蕉问题的思考
- 关于100根香蕉,猴子要背回50米远的家,一次最多只能背50根香蕉,但猴子每走1米后就要吃1根香蕉,问猴子最多可以背多少根香蕉回家?
- 有只猴子在树林采了100根香蕉堆成堆,猴子家离香蕉堆50米,猴子打算把香蕉背回家,每次最多背50根,可是猴子嘴馋,每走一米要吃一根香蕉,问猴子最多能背回家几根香蕉?
- 猴子和香蕉
- 猴子搬香蕉
- 猴子吃香蕉 智力题
- 猴子运香蕉
- 猴子吃香蕉
- linux-next 开发树及 Git 获取方式
- arm开发板的boa服务器的移植
- 迷上ubuntu
- 面试题 做做试试
- 深浅复制产生的根本原因
- 猴子背香蕉问题
- WPF新手之将如何将一个成员变量或自定义类绑定到控件
- 无题
- IT人员必读10个小故事
- Borland Delphi一句话帮助
- Delphi中使代码简洁的5条忠告
- VC编程技巧一
- http://www.cnblogs.com/lovenets/archive/2006/06/24/434880.html 转载
- K-x 在大光圈下对焦不准问题