猴子问题

题目:一个小猴子边上有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 @ 2018-05-11 18:19  Tom-shushu  阅读(525)  评论(0编辑  收藏  举报