逻辑面试题:猴子搬香蕉
关注下方公众号,分享硬核知识
作者 | 小K
出品 | 公众号:小K算法 (ID:xiaok365)
01
故事起源
一只小猴子边上有100根香蕉,此地距离它家50米,小猴想搬香蕉回家,但有以下几个条件:
每次它最多搬50根
它每走1米就要吃掉1根
请问小猴最多能把多少根香蕉搬回家呢?
02
初步思考
小猴同学最多只能搬50,那就搬50根往家走。
很快我们就能发现问题,所剩香蕉与行走距离有如下线性关系,当走到家时,香蕉为0。
还记得小K之前写过一篇文章,240L水的问题,240L水。
这两个问题有很大的共同点。把小猴同学想象成一辆车,香蕉想象成油,每前进1米消耗1根。整个过程就是一个运输过程。之所以出现上面的问题,就在于运输效率会线性下降,快到家时,车上只有几根香蕉,但油耗依然不变。
所以还是要采用之前的思路,通过中转来提高运输效率,尽量满载。
03
中转
总共100根,所以转运最多2趟。而且小猴同学不用返回出发地,所以中转地与出发地之间往返3次。
中转是为了下一次能够一次运输完,所以到达中转地之后,香蕉数要小于等于50。
设到中转站x米,则100-3x<=50,x=17米。
所以第一次搬50到17米处,留下16根,再拿17根返回出发地。第二次搬50到中转站剩下33根,总共49根。然后拿上49根回家,还剩下16根。
04
每一米转运
这里借用一下微分的思想,将中转无限分段,假设每隔1米转运1次,那么每一段之间都是往返3次。如果再把这些区间积起来,其实就和上面的思想一样了。
走到16米的地方还有一个特别的点。现在还有52根香蕉,距离家还有34米。此时只拿50根回家,也能搬回16根香蕉。
05
总结
这类问题最直观的第一感觉,就是越到后面阶段,运输效率越低,所以能想到中转。跟现实生活中的快递运输是一样的,快递也会有很多的中转站。之前240L水的问题,有读者同学反馈,到达第3站的地方,还可以在6.25公里的地方卖掉35L,剩60L再继续运输3.125公里,此时卖掉还可以得到更高的收益2275.78125,也感谢这位同学的反馈。中转站的设立是可以无限微分划区间,再用积分来计算,但这样就太复杂了,所以用分段的思想能解决大部分的问题。
本文原创作者:小K,一个思维独特的写手。
文章首发平台:微信公众号【小K算法】。
如果喜欢小K的文章,请点个关注,分享给更多的人,小K将持续更新,谢谢啦!
关注下方公众号,分享硬核知识
关注我,涨知识
原创不易,感谢分享
转发,点赞,在看!
▼
往期精彩回顾
▼
逻辑面试题:1+1=2最复杂的打开方式
经典智力面试题:一家人过桥
微软面试题:红帽子与黑帽子
分享给更多朋友,转发,点赞,在看
逻辑面试题:猴子搬香蕉相关推荐
- [益智]:猴子搬香蕉
题目描述 一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,(多了就被压死了),它每走1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里.(提示:他可以把香蕉放下往返的走, ...
- 【每日一道智力题】之猴子搬香蕉
题目 一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,(多了就被压坏了),它每走1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里.(提示:他可以把香蕉放下往返的走,但是 ...
- 猴子搬香蕉(算法入门题目005)
题目 A 地有一堆香蕉,共 w 只. 一只猴子要把香蕉从 A 地运输到 B 地. 两地相距 s 里. 猴子每次最多只能背 c 只香蕉. 无论背多少香蕉(甚至不背),猴子每走 1 里路,会吃掉 1 只香 ...
- 猴子搬香蕉Java实现,儿童编程游戏CodeMonkey,让你的小猴子不停地吃香蕉
关于儿童编程游戏,极客爸爸在之前的文章也有所介绍.而今天向大家分享的,是一款名叫CodeMonkey的游戏.相信关注这方面的朋友对这个产品并不陌生,在上月,CodeMonkey完成了150万美元的种子 ...
- 猴子搬香蕉Java实现_趣味算法:猴子搬香蕉问题
在博客园一篇文章末尾看到一个有趣的数学问题,据说是小学4年级的题目,摘引如下: 一只小猴摘了300个香蕉,需要搬回家,每次最多搬100个.小猴离家100米,它每走1米,都需要吃掉1个香蕉来补充能量,请 ...
- 兔子搬萝卜 猴子搬香蕉 算法实现
一只小兔子有100根胡萝卜, 它要走50米才能到家, 每次它最多搬50根胡萝卜, 而每走1米就要吃掉1根胡萝卜, 请问它最多能把多少根胡萝卜搬到家里? 如果有125根胡萝卜?200根胡萝卜?如果负重1 ...
- 【C++】人工智能实验一 猴子摘香蕉/传教士与野人(含完整代码与状态迁移图)
文章目录 一.猴子摘香蕉问题 1.问题描述 2.解题思路 3.实验结果及分析 实验结果一 实验结果二 实验结果三 4.实验结果 5.实验代码 二.传教士(牧师)与野人问题 1.问题描述 2.实验步骤 ...
- 用软件构造的思维理解猴子摘香蕉问题
背景简介/问题描述 一个房间里,天花板上挂有一串香蕉,有一只猴子可在房间里任意活动(到处走动,推移箱子,攀登箱子等).设房间里还有一只可被猴子移动的箱子,且猴子登上箱子时才能摘到香蕉,问猴子在某一状态 ...
- JAVA语言写的人工智能小实验——猴子摘香蕉
背景简介/问题描述 一个房间里,天花板上挂有一串香蕉,有一只猴子可在房间里任意活动(到处走动,推移箱子,攀登箱子等).设房间里还有一只可被猴子移动的箱子,且猴子登上箱子时才能摘到香蕉,问猴子在某一状态 ...
- 猴子摘香蕉问题-人工智能模拟
题目: 利用一阶谓词逻辑求解猴子摘香蕉问题:房内有一个猴子,一个箱子,天花板上挂了一串香蕉,其位置如图1所示,猴子为了拿到香蕉,它必须把箱子搬到香蕉下面,然后再爬到箱子上.请定义必要的谓词,列出问题的 ...
最新文章
- 20165201 实验五 网络编程与安全
- ACM入门之【最短路】
- css箭头超链接,css超链接
- boost::interprocess::basic_vectorstream用法的测试程序
- try.dot.net 的正确使用姿势
- 匿名内部类与Lambda表达式
- 遇到一个把.o文件strip后出现的奇怪问题
- Windows平台安装dlib方法汇总
- 【摘要】抽取式摘要:TextRank和BertSum。
- 基于AVR单片机及无线收发模块的脉搏监测系统设计
- 软工文档-项目开发计划
- LCD12864图片字模生成
- ps快捷键 拿走不谢*小Lemon送你们的
- 电脑桌面图标有阴影怎么办
- convexity and concavity(凸面和凹面)
- 如何获取微信公众号关注页链接
- 磁盘占用率100%——多番尝试
- matlab画图五角星标记,Matlab---画图线型、符号及颜色
- 部分特定领域的信息化检测管理要求和获认可机构目录
- 【NLP】文本数据分析文本特征处理文本数据增强