猴子问题

题目:一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,(多了就被压死了) ,

它每走1米就要吃掉一根,请问它最多能把多少根香蕉搬回家里?

分析:

当然了这个题按平时的思想:一共100个香蕉,来回刚好100米,所以带回0根香蕉。

很显然滴滴面试题不是这么容易的,那么请看正确的解法:

 首先小猴子第一次返回拿剩余香蕉的点距离香蕉原地点小于25米,

 

解法如下: 
一>方程法:

需要找到一个点,当小猴子拿香蕉时能拿最多的香蕉(<=50),这样它可以一次到家,不用再往返。
设Y为要求的香蕉最大剩余数,X为要求的那个点(X米),可以列出方程组:
1. Y=(100-3X) - (50-X)
2. (100-3X)<=50 
很容易求出Y=16  
 
 
 
二>图解法:
我遇到问题还是比较喜欢用图解,因为这样更加的通俗易懂,更形象!!!
 
 
 总结:一共有两种方法。他走到16米和17米处倒回都最多剩下16根。先背50根,他走到16米处,
除去来回16*2=32,还剩18根,然后又背50根走到16米处吃了16根,还剩34根然后再背上16根走到终点就还剩16根,走到17米处方法一样也还剩16根。 

 

 

 

 

 

posted @   Tom-shushu  阅读(537)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示