猴子问题
题目:一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,(多了就被压死了) ,
它每走1米就要吃掉一根,请问它最多能把多少根香蕉搬回家里?
分析:
当然了这个题按平时的思想:一共100个香蕉,来回刚好100米,所以带回0根香蕉。
很显然滴滴面试题不是这么容易的,那么请看正确的解法:
首先小猴子第一次返回拿剩余香蕉的点距离香蕉原地点小于25米,
解法如下:
一>方程法:
需要找到一个点,当小猴子拿香蕉时能拿最多的香蕉(<=50),这样它可以一次到家,不用再往返。
设Y为要求的香蕉最大剩余数,X为要求的那个点(X米),可以列出方程组:
1. Y=(100-3X) - (50-X)
2. (100-3X)<=50
很容易求出Y=16
需要找到一个点,当小猴子拿香蕉时能拿最多的香蕉(<=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根。
本文来自博客园,作者:Tom-shushu,转载请注明原文链接:https://www.cnblogs.com/Tom-shushu/p/9026098.html