阅读:4695回复:26
请教一个问题:高手请进,绝对刺激!
编程题:
有一个猴子有100根香蕉,现离家50米,该猴子一次最多可以拉50根香蕉(多拉会累死他的),而且每走1米要吃掉一根香蕉,问猴子最多可以带回家几根香蕉? (提示:猴子可以往返走,但必须要有香蕉吃) 要求:用C 写出程序。 |
|
|
沙发#
发布于:2005-04-21 15:45
编程题: 是不是16只(估计猴子拿回家的不是16只:D) |
|
|
板凳#
发布于:2005-04-21 21:54
怎么想它也不会把香蕉拿到家....................
|
|
地板#
发布于:2005-04-22 16:08
编程题: 这就是沙漠拉油的翻版吗 |
|
|
地下室#
发布于:2005-04-25 09:01
[quote]编程题: 是不是16只(估计猴子拿回家的不是16只:D) [/quote] 如何得出的???? |
|
|
5楼#
发布于:2005-04-25 16:35
[quote][quote]编程题: 是不是16只(估计猴子拿回家的不是16只:D) [/quote] 如何得出的???? [/quote] 猴子计算错误,在路上累死了,16只是AllenZh去猴子家数的 |
|
|
6楼#
发布于:2005-04-25 17:08
编程题: 中途可以停下,放下一些香蕉吗 |
|
|
7楼#
发布于:2005-04-25 17:29
[quote][quote]编程题: 是不是16只(估计猴子拿回家的不是16只:D) [/quote] 如何得出的???? [/quote] 先拿50个走17米,这时省50-17=33个,然后放下16个,拿17个回去供路上吃,等到原来地点时候,17个刚好吃完,然后拿省下的50个,到17米地地方带上上次的16个,直接回叫不就有16个了 当然可能有更多的,哈哈 那位有空可以写个穷举函数计算一下, 思路是: 假设nMax为最大带回去的数目,nEat为路上吃的数目,则有: nMax+nEat=100; 因为总共是50米。是偶数,如果从A到B在返回去拿,则一定满足AB地距离*2是偶数,也就是说nEat一定是偶数 同时具有下列潜在条件 1、每次尽可能多那 2、如果要在某地返回x米去拿,一定是在返回前有多于x个,否则等于白走或者饿死,并且返回的目的地一定有多于个,否则不足够回来 这样可以优化一下算法。 其实直接穷举运算量也不大。 |
|
|
8楼#
发布于:2005-04-26 09:15
这个以前做过…………好像是列几条不等式就出来了的……………… :P
[编辑 - 4/26/05 by lbcat] |
|
9楼#
发布于:2005-04-26 10:17
[quote]编程题: 中途可以停下,放下一些香蕉吗 [/quote] 很显然,不放怎么办 记得以前是用Fortran 66做的,嘻嘻,大家肯定没用过 |
|
|
10楼#
发布于:2005-04-26 11:14
不过好像没必要用程序来进行运算吧??模型出来了结果都显而易见了…………
|
|
11楼#
发布于:2005-04-26 15:06
[quote]编程题: 中途可以停下,放下一些香蕉吗 [/quote] 帅~ |
|
12楼#
发布于:2005-04-27 09:52
[quote][quote]编程题: 中途可以停下,放下一些香蕉吗 [/quote] 帅~ [/quote] 出题目的人都没说清楚,难怪想不到,半路还能放下??? 强...... |
|
|
13楼#
发布于:2005-04-28 12:07
1、首先,为了能有剩下的香蕉,猴子路上一定要停一次,但为了最大化,又只能停一次,因为返回去拿香蕉是要消耗香蕉的
2、猴子出发,要带50个香蕉,剩50个,不然回来拿的时候,一次拿不了,又要多跑一次 3、因此,设猴子往回走了n米,就停了然后回去拿香蕉再然后一直回家,可以得出剩下的香蕉是50-2n,n越小越好 4、为了使猴子回去拿了香蕉到了停留点后,还能拿动,必须满足:50-3n <= 50,即3n >= 50,n取17,于是猴子最后剩下50-2*17=16只香蕉 :D 不是普适情况 :P :D |
|
14楼#
发布于:2005-04-29 10:13
不过好像没必要用程序来进行运算吧??模型出来了结果都显而易见了………… 题目是让求最优解 |
|
|
15楼#
发布于:2005-04-30 09:55
上面的几位大哥能不能给出数学模型或干脆给出算法,我想知道如何对本题写出程序。拜托各位。!!!
|
|
|
16楼#
发布于:2005-05-17 21:42
本来今天心情不好,但是看了这几篇文章,把肚子笑疼了,特别是那句“中途可以停下,放下一些香蕉吗”,经典。
|
|
17楼#
发布于:2005-05-18 20:42
[quote]编程题: 中途可以停下,放下一些香蕉吗 [/quote] 吾之愚见:其实wywwwl在回答时已经有解题思路了,只是不十分肯定而已 :) |
|
18楼#
发布于:2005-06-21 12:57
找法拉力送辆车给他就是了,多少都能拉回家。而且速度快,100米才吃一根。那能拉99根回家呢
|
|
19楼#
发布于:2005-06-22 19:57
太难了,我连10都数不到,这叫我咋整?
|
|
上一页
下一页