发新话题
打印

趋势笔试题:IQ猴子香蕉题

面霸应届生求职网欢迎您!

趋势笔试题:IQ猴子香蕉题

趋势笔试题:IQ猴子香蕉题  
题目内容
发信人: fengsa (找呀找呀找), 信区: Job
标 题: 【汇总】趋势笔试题:IQ猴子香蕉题
发信站: 武汉白云黄鹤站 (2004年11月01日21:39:42 星期一), 站内信件

发信人: chenxinzhe (轮也轮到我了!)
发信站: 武汉白云黄鹤站 (2004年11月01日16:36:06 星期一)


原题:
A处到B处50步,一只猴子最多背50只香蕉,前走一步和后走一步都要吃1个香蕉,A处100只
香蕉,猴子从A处背香蕉到B处最多可到达B处的香蕉数??

答案一: 背50只出发,走16步假如到达P点,吃掉16只,放下18只在P点,背16只返回到
A又吃完16只,从A背剩下的50只走到P点,又吃掉16个,这样加上P点原来放的还剩52只,
扔掉2只,背50只每走一步吃一只,PA=50-16=34,走剩下的34步,到B吃掉34只,这样
剩下16只到达B处。可编程实现。

答案二: 背50只走一步,放下除了已经吃掉的和回头走将要吃的剩下的香蕉,回头去背剩
下的,到达第一步处,再背50只走一步,放下除了已经吃掉的和回头走将要吃的剩下的香
蕉,回头去背剩下的,到达第二步处,再…… 重复17次后只剩下49只,这样就一直往后
走不要回头了,还剩下16只。这个最方便编程实现了。

答案三:按照答案一走完16步后背50只到17步处可放下48个,回头吃一个背2个,再吃掉一
个到17步处,加上放下的48总共49,然后一直走到B剩下16个。这样可以多吃2个香蕉,划
的来!哈哈


──────────────────────────────────────
发信人: Binary (qingchong`s粉丝|海纳百川□无欲则刚)
发信站: 武汉白云黄鹤站 (2004年11月01日16:37:27 星期一)

看晕了
有这么复杂?

【 在 chenxinzhe (轮也轮到我了!) 的大作中提到: 】
:
: 原题:
: A处到B处50步,一只猴子最多背50只香蕉,前走一步和后走一步都要吃1个香蕉,A处100

: 香蕉,猴子从A处背香蕉到B处最多可到达B处的香蕉数??
:
: 答案一: 背50只出发,走16步假如到达P点,吃掉16只,放下18只在P点,背16只返回到
: A又吃完16只,从A背剩下的50只走到P点,又吃掉16个,这样加上P点原来放的还剩52只,
: 扔掉2只,背50只每走一步吃一只,PA=50-16=34,走剩下的34步,到B吃掉34只,这样
: 剩下16只到达B处。可编程实现。
:
: .................(以下省略)


──────────────────────────────────────
发信人: cutedog (cutedog)
发信站: 武汉白云黄鹤站 (2004年11月01日16:39:10 星期一)

我蒙的11个,就这样错了!
哎,这种智力题,做多了就好了
估计斑竹也可以参加微软的古怪精灵题了!

【 在 chenxinzhe (轮也轮到我了!) 的大作中提到: 】
:
: 原题:
: A处到B处50步,一只猴子最多背50只香蕉,前走一步和后走一步都要吃1个香蕉,A处100

: 香蕉,猴子从A处背香蕉到B处最多可到达B处的香蕉数??
:
: 答案一: 背50只出发,走16步假如到达P点,吃掉16只,放下18只在P点,背16只返回到
: A又吃完16只,从A背剩下的50只走到P点,又吃掉16个,这样加上P点原来放的还剩52只,
: 扔掉2只,背50只每走一步吃一只,PA=50-16=34,走剩下的34步,到B吃掉34只,这样
: 剩下16只到达B处。可编程实现。
:
: .................(以下省略)


──────────────────────────────────────
发信人: chenxinzhe (轮也轮到我了!)
发信站: 武汉白云黄鹤站 (2004年11月01日16:41:27 星期一)


自己用笔画图:很简单就搞定了。其实2步骤也不多,我这样说是为了大家看懂,今天解释
给两个人听,他们听不懂,所以就说得负责但是比较通俗易懂点。
【 在 Binary 的大作中提到: 】
: 看晕了
: 有这么复杂?
: 【 在 chenxinzhe (轮也轮到我了!) 的大作中提到: 】
: :
: : 原题:
: : A处到B处50步,一只猴子最多背50只香蕉,前走一步和后走一步都要吃1个香蕉,A..
: : 香蕉,猴子从A处背香蕉到B处最多可到达B处的香蕉数??
: :
: : 答案一: 背50只出发,走16步假如到达P点,吃掉16只,放下18只在P点,背16只..
: : A又吃完16只,从A背剩下的50只走到P点,又吃掉16个,这样加上P点原来放的还剩..
: : 扔掉2只,背50只每走一步吃一只,PA=50-16=34,走剩下的34步,到B吃掉34只..
: : 剩下16只到达B处。可编程实现。
: :
: : .................(以下省略)


──────────────────────────────────────
发信人: saisai (考完的感觉真好)
发信站: 武汉白云黄鹤站 (2004年11月01日16:44:59 星期一)

这不就是传统的飞机运油的题目嘛

【 在 chenxinzhe (轮也轮到我了!) 的大作中提到: 】
:
: 原题:
: A处到B处50步,一只猴子最多背50只香蕉,前走一步和后走一步都要吃1个香蕉,A处100

: 香蕉,猴子从A处背香蕉到B处最多可到达B处的香蕉数??
:
: 答案一: 背50只出发,走16步假如到达P点,吃掉16只,放下18只在P点,背16只返回到
: A又吃完16只,从A背剩下的50只走到P点,又吃掉16个,这样加上P点原来放的还剩52只,
: 扔掉2只,背50只每走一步吃一只,PA=50-16=34,走剩下的34步,到B吃掉34只,这样
: 剩下16只到达B处。可编程实现。
:
: .................(以下省略)


──────────────────────────────────────
发信人: teago (木耳)
发信站: 武汉白云黄鹤站 (2004年11月01日17:03:04 星期一)


设背50个香蕉走 x 步后放下 y=(50-2x) 个香蕉往回走到起点,
再背50个香蕉走 x 步后,
当 x>=y 时,拿起 y 个香蕉后继续往前走直到终点,所剩香蕉为 y 个;
当 x 这个问题等价于:
当 x 最接近 y 时,所剩香蕉最多,
即求解(50-2x)=y=x,
x=16.666,取整 x=16 或 x=17,
当 x=16 时,y=18,所剩香蕉为 16;
当 x=17 时,y=16,所剩香蕉为 16。

【 在 chenxinzhe 的大作中提到: 】
:
: 原题:
: A处到B处50步,一只猴子最多背50只香蕉,前走一步和后走一步都要吃1个香蕉,A处..
: 香蕉,猴子从A处背香蕉到B处最多可到达B处的香蕉数??
:
: 答案一: 背50只出发,走16步假如到达P点,吃掉16只,放下18只在P点,背16只返..
: A又吃完16只,从A背剩下的50只走到P点,又吃掉16个,这样加上P点原来放的还剩52..
: 扔掉2只,背50只每走一步吃一只,PA=50-16=34,走剩下的34步,到B吃掉34只,..
: 剩下16只到达B处。可编程实现。
:
: 答案二: 背50只走一步,放下除了已经吃掉的和回头走将要吃的剩下的香蕉,回头?.
: 下的,到达第一步处,再背50只走一步,放下除了已经吃掉的和回头走将要吃的剩下..
: 蕉,回头去背剩下的,到达第二步处,再…… 重复17次后只剩下49只,这样就一直..
: 走不要回头了,还剩下16只。这个最方便编程实现了。
:
: 答案三:按照答案一走完16步后背50只到17步处可放下48个,回头吃一个背2个,再?.
: 个到17步处,加上放下的48总共49,然后一直走到B剩下16个。这样可以多吃2个香蕉..
: 的来!哈哈
:


──────────────────────────────────────
发信人: eyecan (go abroad)
发信站: 武汉白云黄鹤站 (2004年11月01日17:08:49 星期一)

不需要什么步骤,只需要知道原理就行了
逆推:
我们希望最后一次猴子走尽可能远的距离(因为不需要折返回去)把
现存的所有的香蕉背到终点。
设最后一次猴子走了m米,显然此时的香蕉数<=50
那么前面不管猴子怎么运的都是要往返往的运3次,设前面总路程x米
则,3x大于等于50,取51。 则x=17。 所以还剩50-17=33米,还有
100-51=49个香蕉。
最后剩下香蕉 49-33=16

【 在 chenxinzhe (轮也轮到我了!) 的大作中提到: 】
:
: 原题:
: A处到B处50步,一只猴子最多背50只香蕉,前走一步和后走一步都要吃1个香蕉,A处100

: 香蕉,猴子从A处背香蕉到B处最多可到达B处的香蕉数??
:
: 答案一: 背50只出发,走16步假如到达P点,吃掉16只,放下18只在P点,背16只返回到
: A又吃完16只,从A背剩下的50只走到P点,又吃掉16个,这样加上P点原来放的还剩52只,
: 扔掉2只,背50只每走一步吃一只,PA=50-16=34,走剩下的34步,到B吃掉34只,这样
: 剩下16只到达B处。可编程实现。
:
: .................(以下省略)


──────────────────────────────────────
发信人: zhygraham (张语)
发信站: 武汉白云黄鹤站 (2004年11月01日17:16:23 星期一)

当猴子的香蕉个数第一次<=50的时候,也就是猴子不需要往返走的时候。同时,每次
往返走都需要3个香蕉(每一步路都需要走3次,前进,退后拿剩余的,再前进)
所以
需往返的次数 50/3 = 16.66666 ,取17次,也就是走了17步的时候
最后剩余香蕉
(100 - 17 * 3)- (50 - 17)= 16

【 在 teago (木耳) 的大作中提到: 】
: 设背50个香蕉走 x 步后放下 y=(50-2x) 个香蕉往回走到起点,
: 再背50个香蕉走 x 步后,
: 当 x>=y 时,拿起 y 个香蕉后继续往前走直到终点,所剩香蕉为 y 个;
: 当 x : 这个问题等价于:
: 当 x 最接近 y 时,所剩香蕉最多,
: 即求解(50-2x)=y=x,
: x=16.666,取整 x=16 或 x=17,
: 当 x=16 时,y=18,所剩香蕉为 16;
: 当 x=17 时,y=16,所剩香蕉为 16。
: .................(以下省略)

──────────────────────────────────────
发信人: shanzhitong (山之瞳)
发信站: 武汉白云黄鹤站 (2004年11月01日17:19:32 星期一)

雇一只猴子带上50只香蕉go 25米放下25只,ok,fire
再雇一只猴子带上50只香蕉go 25米捡起25只,走到终点
现在我们可以得到25只香蕉了

【 在 chenxinzhe (轮也轮到我了!) 的大作中提到: 】
:
: 原题:
: A处到B处50步,一只猴子最多背50只香蕉,前走一步和后走一步都要吃1个香蕉,A处100

: 香蕉,猴子从A处背香蕉到B处最多可到达B处的香蕉数??
:
: 答案一: 背50只出发,走16步假如到达P点,吃掉16只,放下18只在P点,背16只返回到
: A又吃完16只,从A背剩下的50只走到P点,又吃掉16个,这样加上P点原来放的还剩52只,
: 扔掉2只,背50只每走一步吃一只,PA=50-16=34,走剩下的34步,到B吃掉34只,这样
: 剩下16只到达B处。可编程实现。
:
: .................(以下省略)


──────────────────────────────────────
发信人: doyoko (doyoko)
发信站: 武汉白云黄鹤站 (2004年11月01日17:26:34 星期一)

显然猴子必须要在AB之间做一个中转点,设此点为C,且C距A距离为x步,另设最后搬
到B处的香蕉

为y,则

1)搬到C处的香蕉为50-2x+50-x=100-3x;

2)如果100-3x<=50,则y=100-3x-(50-x)=50-2x,x=25-y/2,代入100-3x<=50中可得y<
=50/3,即max(y)=16;

3)如果100-3x>=50,则y=50-2(50-x)+100-3x-50-(50-x)=-50,-50没有意义,舍去;

4)所以max(y)=16.

【 在 chenxinzhe (轮也轮到我了!) 的大作中提到: 】
:
: 原题:
: A处到B处50步,一只猴子最多背50只香蕉,前走一步和后走一步都要吃1个香蕉,A处100

: 香蕉,猴子从A处背香蕉到B处最多可到达B处的香蕉数??
:
: 答案一: 背50只出发,走16步假如到达P点,吃掉16只,放下18只在P点,背16只返回到
: A又吃完16只,从A背剩下的50只走到P点,又吃掉16个,这样加上P点原来放的还剩52只,
: 扔掉2只,背50只每走一步吃一只,PA=50-16=34,走剩下的34步,到B吃掉34只,这样
: 剩下16只到达B处。可编程实现。
:
: .................(以下省略)

──────────────────────────────────────
发信人: duckathome (小丫~~~~不认识王铭图)
发信站: 武汉白云黄鹤站 (2004年11月01日18:18:44 星期一)


从成本收益角度来考虑,
假设从起点开始,背50个走一步,这时候,考虑成本收益问题:
如果回头再去背剩余香蕉,则可以带来50-2的纯收益(2是来去所吃掉的香蕉),因此猴
子会选择回去背;
这样一步步考虑下去,直到某一点,后起回去背的香蕉带来的收益已经《=收益,则不回
头,直接走下去。
在收益《=成本之前,每走一步香蕉总数减少3,而回去一格的成本是2,猴子最多能背50

所以香蕉减少数达到100-50-2时,不必回去背香蕉
这时走的总步数为48/3=16
这样剩余50-34=16个
发新话题