黑马程序员技术交流社区

标题: 猴子和香蕉问题 [打印本页]

作者: 刘欢(安阳)    时间: 2012-10-8 20:33
标题: 猴子和香蕉问题
有一只猴子发现了一片香蕉园,它一共摘了300根香蕉,要走1000米才能到家,如果它每次最多只能背100根香蕉,并且它每走10米就要吃掉一根,那么,它最多可以把多少根香蕉带回家?


作者: 徐赵华    时间: 2012-10-8 22:53
int sumBanana = 300;
            int numberBanana = 0;
            for (int i = 0; i < sumBanana / 100; i++)
            {
                numberBanana += 1000 / 100 / 10;
            }
            Console.WriteLine(numberBanana);

结果是3吗?
作者: 和志强    时间: 2012-10-9 00:19
首先 背100根出发。 走5米,吃掉半根,放下99根香蕉,拿着半根回去
再来 背100根出发。 走5米,吃掉半根,放下99根香蕉,拿着半根回去
三遍 背剩余出发。 走5米,吃掉半根,剩余半根

所以走了 5米 ,用了2根半,平均消耗1米0.5根

循环走下去,每次都要跑3回。

直到第200米时,吃掉了100根
现在变成
首先 背100根出发。 走5米,吃掉半根,放下99根香蕉,拿着半根回去
再来 背剩余出发。 走5米,吃掉半根,剩余半根


所以走了 5米 ,用了1根半,平均消耗:1米0.3根

循环走下去,每次都要跑2回。

直到第333.3米时,几乎吃掉了100根
现在只有100根了,直接背回家

还有距离:1000-200-333.3=466.7米

还要消耗46根。所以只会剩余54根.
作者: 蔡嘉    时间: 2012-10-19 16:24
和猴子有关的问题总是很有趣!

QQ截图20121019162346.png (6.19 KB, 下载次数: 58)

QQ截图20121019162346.png

作者: 雷向阳    时间: 2012-10-20 00:44
如果香蕉数大于200,则这堆香蕉移动1米,猴子要吃掉0.5根。如果香蕉树大于100,则这堆香蕉移动1米,猴子要吃掉0.3根,否则猴子只吃掉0.1根。

01.using System;  
02.  
03.namespace Splash  
04.{  
05.    class Program  
06.    {  
07.        static void Main(string[] args)  
08.        {  
09.            Int32 Bananas = 300*10;     // 300个香蕉   
10.            for (Int32 i = 0; i < 1000; i += 1)  
11.            {  
12.                if (Bananas > 200*10)  
13.                    Bananas -= 5;    // 吃掉0.5个香蕉   
14.                else if (Bananas > 100*10)  
15.                    Bananas -= 3;    // 吃掉0.3个香蕉   
16.                else  
17.                    Bananas--;       // 吃掉0.1个香蕉   
18.            }  
19.  
20.            Console.WriteLine("剩余香蕉 = {0}", Bananas / 10);  
21.        }  
22.    }  
23.}  

作者: 彭书雄    时间: 2012-10-20 15:45
问题很经典,发现想的和实际情况偏差很大 嘿嘿,以后要多从实际出发,学习了{:soso_e130:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2