1. 程式人生 > >一隻猴子有100個香蕉,把香蕉搬到50米之外的家裡,每次最多拿50個香蕉,每走一米要吃掉一個香蕉,最後家裡能剩下幾個香蕉

一隻猴子有100個香蕉,把香蕉搬到50米之外的家裡,每次最多拿50個香蕉,每走一米要吃掉一個香蕉,最後家裡能剩下幾個香蕉

題目:一隻猴子有100個香蕉,把香蕉搬到50米之外的家裡,每次最多拿50個香蕉,每走一米要吃掉一個香蕉,最後家裡能剩下幾個香蕉。

答案:

很多人的方案:猴子先搬50根,走17米,在回來搬50根走到17米處,回來後再搬剩下的49根走完33米,最後得到16根!

 

但是其實可以剩下17根。

猴子先搬50根,走16.9米,在回來搬50根走到16.9米處,回來後再搬剩下的50根走完33.1米,最後得到17根!
分解:
1.先搬50根走到16.9米處,消耗了16個香蕉,返回到0米處需要帶上17根香蕉吃,此時就在16.9米處剩下17根香蕉;
2.接著搬第二次50根,走到16.9米處,消耗了17個香蕉,第二次搬的50個還剩餘33個香蕉;
3.兩次下來在16.9米處總共還有50根香蕉,走完剩下的33.1米,消耗33個香蕉,最後得到17根香蕉。


為什麼在16.9米(在16到17米之間都可以),是為了最後可以直接搬50個走向家裡,16.9的路程走三次=50.7米,加上最後走的33.1米 = 83.8米 0.8米沒有達到1米,猴子不需要吃香蕉