【每日一道智力题】之猴子搬香蕉

简介: 【每日一道智力题】之猴子搬香蕉

题目

一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,(多了就被压坏了),它每走1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。(提示:他可以把香蕉放下往返的走,但是必须保证它每走一米都能有香蕉吃。也可以走到n米时,放下一些香蕉,拿着n根香蕉走回去重新搬50根。)

解析:

这种试题通常有一个迷惑点,让人看不懂题目的意图。此题迷惑点在于:走一米吃一根香蕉,一共走50米,那不是把50根香蕉吃完了吗?如果要回去搬另外50根香蕉,则往回走的时候也要吃香蕉,这样每走一米需要吃掉三根香蕉,走50米岂不是需要150根香蕉?

其实不然,本题关键点在于:猴子搬箱子的过程其实分为两个阶段:

第一阶段:来回搬,当香蕉数目大于50根时,猴子每搬一米需要吃掉三根香蕉。

第二阶段:香蕉数<=50,直接搬回去。每走一米吃掉1根。

解答:

第一阶段:

假如把100根香蕉分为两箱。一箱50根。

第一步,把A箱搬一米,吃一根。

第二步,往回走一米,吃一根。

第三步,把B箱搬一米,吃一根。

这样,把所有香蕉搬走一米需要吃掉三根香蕉。

这样走到第几米的时候,香蕉数刚好小于50呢?

100-(n*3)<50 解得n>50/3,约等于n>16.3

所以走到17米的时候,猴子还有50-17*3=49根香蕉。这时猴子就轻松啦。直接背着走就行。

这里有一个非常有趣的点,就是当走到16米的时候,猴子吃掉48根香蕉,剩52根香蕉。这步很有意思,它可以直接搬50往前走,剩下的2根丢掉,也可以再来回搬一次,但结果都是一样的。

第二阶段:

走一米吃一根。

把剩下的50-17=33米走完。还剩49-33=16根香蕉。

总结:

通过今天的每日一题,我们知道了不同情况不同分析的道理,再香蕉数大于50时,因为要来回搬,所以我们不能直接一次性到终点,然而当香蕉数小于50时,就和第一阶段不同了,因为我们不用再来回搬了。这就是今天的每日一道智力题,不知道对你有没有帮助呢!?希望各位大佬点赞+关注+收藏,我会继续出这个系列的博客的,您的支持是我创造的动力!谢谢大佬们了!

目录
相关文章
|
2月前
|
算法
AcWing 1343. 挤牛奶(每日一题)
AcWing 1343. 挤牛奶(每日一题)
|
2月前
猴子分桃
【10月更文挑战第3天】猴子分桃。
17 1
|
2月前
|
算法
AcWing 1355. 母亲的牛奶(每日一题)
AcWing 1355. 母亲的牛奶(每日一题)
洛谷P1135 奇怪的电梯——广搜
洛谷P1135 奇怪的电梯——广搜
107 0
猴子选大王
猴子选大王
107 0
【洛谷】独自一人听歌写题
【洛谷】独自一人听歌写题
77 0
|
存储
【LeetCode】这儿童节的糖不好吃啊
【LeetCode】这儿童节的糖不好吃啊
146 0
【LeetCode】这儿童节的糖不好吃啊
|
存储
漫画:动态规划解决扔鸡蛋问题
在上一篇漫画中,小灰介绍了一道有趣的智力题:漫画:有趣的扔鸡蛋问题那么,如何利用动态规划来求出扔鸡蛋问题的通解? 换句话说,有M层楼 / N个鸡蛋,要找到鸡蛋摔不碎的临界点,需要尝试几次?
306 0
漫画:动态规划解决扔鸡蛋问题