一个小猴子边上有100根香蕉,它要走过50米才能到家,每次它最多只能搬50根香蕉,它每走1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里?

设Y为要求的香蕉最大剩余数,X为要求的那个点(X米),可以列出方程式:

1. Y=(100-3X) - (50-X) =50-2X 所以x越小y越大

2. (100-3X)<=50 剩余的香蕉数小于等于50,否则拿不了,x>=16又2/3 因此x=17

Y=16

很容易求出Y=16

 

通俗点:

先搬50根至17米(A点),吃掉17跟剩33根,留下16根在A点,带17根回到起点,这17根全部吃完,带上起点的另外50根到A点处,吃掉17根剩33根,加上留在A点的16根,一共49根,剩下50-17=33米到终点,49吃掉33跟剩16根。

posted @ 2012-09-27 13:05  程序员面试助手  阅读(5499)  评论(0编辑  收藏  举报