chengxindang
驱动牛犊
驱动牛犊
  • 注册日期2004-08-16
  • 最后登录2011-07-24
  • 粉丝0
  • 关注0
  • 积分157分
  • 威望35点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
阅读:4527回复:26

请教一个问题:高手请进,绝对刺激!

楼主#
更多 发布于:2005-04-21 11:08
编程题:
有一个猴子有100根香蕉,现离家50米,该猴子一次最多可以拉50根香蕉(多拉会累死他的),而且每走1米要吃掉一根香蕉,问猴子最多可以带回家几根香蕉?
(提示:猴子可以往返走,但必须要有香蕉吃)
要求:用C 写出程序。
爱,使人死亡,情,让人疯狂!
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-21 15:45
编程题:
有一个猴子有100根香蕉,现离家50米,该猴子一次最多可以拉50根香蕉(多拉会累死他的),而且每走1米要吃掉一根香蕉,问猴子最多可以带回家几根香蕉?
(提示:猴子可以往返走,但必须要有香蕉吃)
要求:用C 写出程序。
 

是不是16只(估计猴子拿回家的不是16只:D)
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
keta0123
驱动牛犊
驱动牛犊
  • 注册日期2005-04-07
  • 最后登录2005-05-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-04-21 21:54
怎么想它也不会把香蕉拿到家....................
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-04-22 16:08
编程题:
有一个猴子有100根香蕉,现离家50米,该猴子一次最多可以拉50根香蕉(多拉会累死他的),而且每走1米要吃掉一根香蕉,问猴子最多可以带回家几根香蕉?
(提示:猴子可以往返走,但必须要有香蕉吃)
要求:用C 写出程序。
 

这就是沙漠拉油的翻版吗
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2005-04-25 09:01
[quote]编程题:
有一个猴子有100根香蕉,现离家50米,该猴子一次最多可以拉50根香蕉(多拉会累死他的),而且每走1米要吃掉一根香蕉,问猴子最多可以带回家几根香蕉?
(提示:猴子可以往返走,但必须要有香蕉吃)
要求:用C 写出程序。
 

是不是16只(估计猴子拿回家的不是16只:D)  [/quote]
如何得出的????
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-04-25 16:35
[quote][quote]编程题:
有一个猴子有100根香蕉,现离家50米,该猴子一次最多可以拉50根香蕉(多拉会累死他的),而且每走1米要吃掉一根香蕉,问猴子最多可以带回家几根香蕉?
(提示:猴子可以往返走,但必须要有香蕉吃)
要求:用C 写出程序。
 

是不是16只(估计猴子拿回家的不是16只:D)  [/quote]
如何得出的???? [/quote]
猴子计算错误,在路上累死了,16只是AllenZh去猴子家数的
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
wywwwl
驱动大牛
驱动大牛
  • 注册日期2002-08-16
  • 最后登录2018-04-07
  • 粉丝1
  • 关注0
  • 积分-10分
  • 威望135点
  • 贡献值6点
  • 好评度76点
  • 原创分0分
  • 专家分0分
  • 社区居民
6楼#
发布于:2005-04-25 17:08
编程题:
有一个猴子有100根香蕉,现离家50米,该猴子一次最多可以拉50根香蕉(多拉会累死他的),而且每走1米要吃掉一根香蕉,问猴子最多可以带回家几根香蕉?
(提示:猴子可以往返走,但必须要有香蕉吃)
要求:用C 写出程序。
 


中途可以停下,放下一些香蕉吗
琢磨悟真知
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-04-25 17:29
[quote][quote]编程题:
有一个猴子有100根香蕉,现离家50米,该猴子一次最多可以拉50根香蕉(多拉会累死他的),而且每走1米要吃掉一根香蕉,问猴子最多可以带回家几根香蕉?
(提示:猴子可以往返走,但必须要有香蕉吃)
要求:用C 写出程序。
 

是不是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个,否则等于白走或者饿死,并且返回的目的地一定有多于个,否则不足够回来
这样可以优化一下算法。
其实直接穷举运算量也不大。
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
lbcat
驱动牛犊
驱动牛犊
  • 注册日期2002-03-19
  • 最后登录2007-09-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-04-26 09:15
  这个以前做过…………好像是列几条不等式就出来了的………………  :P

[编辑 -  4/26/05 by  lbcat]
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-04-26 10:17
[quote]编程题:
有一个猴子有100根香蕉,现离家50米,该猴子一次最多可以拉50根香蕉(多拉会累死他的),而且每走1米要吃掉一根香蕉,问猴子最多可以带回家几根香蕉?
(提示:猴子可以往返走,但必须要有香蕉吃)
要求:用C 写出程序。
 


中途可以停下,放下一些香蕉吗 [/quote]
很显然,不放怎么办
记得以前是用Fortran 66做的,嘻嘻,大家肯定没用过
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
lbcat
驱动牛犊
驱动牛犊
  • 注册日期2002-03-19
  • 最后登录2007-09-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2005-04-26 11:14
  不过好像没必要用程序来进行运算吧??模型出来了结果都显而易见了…………
keta0123
驱动牛犊
驱动牛犊
  • 注册日期2005-04-07
  • 最后登录2005-05-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-04-26 15:06
[quote]编程题:
有一个猴子有100根香蕉,现离家50米,该猴子一次最多可以拉50根香蕉(多拉会累死他的),而且每走1米要吃掉一根香蕉,问猴子最多可以带回家几根香蕉?
(提示:猴子可以往返走,但必须要有香蕉吃)
要求:用C 写出程序。
 


中途可以停下,放下一些香蕉吗 [/quote]
帅~
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
12楼#
发布于:2005-04-27 09:52
[quote][quote]编程题:
有一个猴子有100根香蕉,现离家50米,该猴子一次最多可以拉50根香蕉(多拉会累死他的),而且每走1米要吃掉一根香蕉,问猴子最多可以带回家几根香蕉?
(提示:猴子可以往返走,但必须要有香蕉吃)
要求:用C 写出程序。
 


中途可以停下,放下一些香蕉吗 [/quote]
帅~ [/quote]
出题目的人都没说清楚,难怪想不到,半路还能放下???
强......
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
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
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2005-04-29 10:13
 不过好像没必要用程序来进行运算吧??模型出来了结果都显而易见了…………

题目是让求最优解
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
chengxindang
驱动牛犊
驱动牛犊
  • 注册日期2004-08-16
  • 最后登录2011-07-24
  • 粉丝0
  • 关注0
  • 积分157分
  • 威望35点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2005-04-30 09:55
上面的几位大哥能不能给出数学模型或干脆给出算法,我想知道如何对本题写出程序。拜托各位。!!!
爱,使人死亡,情,让人疯狂!
rollin7
驱动牛犊
驱动牛犊
  • 注册日期2005-05-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2005-05-17 21:42
本来今天心情不好,但是看了这几篇文章,把肚子笑疼了,特别是那句“中途可以停下,放下一些香蕉吗”,经典。
xx_focus
驱动中牛
驱动中牛
  • 注册日期2003-08-06
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2005-05-18 20:42
[quote]编程题:
有一个猴子有100根香蕉,现离家50米,该猴子一次最多可以拉50根香蕉(多拉会累死他的),而且每走1米要吃掉一根香蕉,问猴子最多可以带回家几根香蕉?
(提示:猴子可以往返走,但必须要有香蕉吃)
要求:用C 写出程序。
 


中途可以停下,放下一些香蕉吗 [/quote]
吾之愚见:其实wywwwl在回答时已经有解题思路了,只是不十分肯定而已 :)
wangshihu
论坛版主
论坛版主
  • 注册日期2003-12-31
  • 最后登录2012-03-26
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望96点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2005-06-21 12:57
找法拉力送辆车给他就是了,多少都能拉回家。而且速度快,100米才吃一根。那能拉99根回家呢
fu_tiansweet
驱动老牛
驱动老牛
  • 注册日期2004-01-08
  • 最后登录2009-07-10
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望526点
  • 贡献值0点
  • 好评度281点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2005-06-22 19:57
太难了,我连10都数不到,这叫我咋整?
上一页
游客

返回顶部