微软面试题【飞机加油问题】题解

csdn高校俱乐部 面试题 微软 

CSDN-木水辰

毕业生北京邮电大学

已知:

每个飞机只有一个油箱, 飞机之间可以相互加油(注意是相互,没有加油机) 。一箱油可供一架飞机绕地球飞半圈。

问题:

为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)

我们计算的结果:共需出动5架次飞机完成此次飞行任务。

 

如果你来执行这次任务,你会派出几架次飞机呢?

欢迎关注微信号 CSDNstudentclub 查看公众投票结果集参与投票互动。

创建
2014-12-12
浏览
96411次
最新回复
2015-09-08
回复
36
1

CSDN-木水辰

毕业生北京邮电大学

选择3架次的同学,是不是有两架飞机没有考虑回程,把1/2箱油都加给其他飞机了?要注意题目的要求,所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场

2014年12月14日 21:47:24

yuyang199

毕业生西南交通大学

为什么不能三架呢?两架飞回机场后可以加满油然后飞去接机  这样三架就能够完成了  
 

2014年12月15日 15:43:22

莫1103137684

学生南京工业大学

楼上的  请看清楚题目再说好不,他说的是飞机的架次。不是几架

2014年12月15日 17:27:23

可爱滴狗狗

毕业生湖南工学院

4架不可以吗?先三架飞机朝同一方向起飞,用完1/3的邮箱之后,其中两架飞机给第三架分别加1/3油,然后这两架飞机返回,第三架飞机继续飞行,第三架飞机快飞完一圈时,第四架飞机出动迎接,给第三架飞机加1/3油,然后第4架飞机返回,第3架飞机刚好可以转完一圈。

2014年12月21日 15:13:45

CSDN-木水辰

毕业生北京邮电大学

三架飞机飞了三分之一后,每架飞机都空出三分之一的油箱。第二架飞机和第三架飞机是不能同时将三分之一的油加给第一架飞机,因为第一架飞机油箱只能接受三分之一的油。

2014年12月21日 22:04:16

vector_change

毕业生广东商学院

为了油的最省 即 所派出的飞机数最少,1号机必须独自走完半个地球。

然后因为在一号机走半个地球时的起始状态是满油的,而最终状态是耗尽的(临界点)。

故与1号机同向的飞机必须填补一号机在走半个地球时的起始前的油耗,同样的逆向的飞机必须给足1号机回到原点的油量。

那么接下来要考虑的就是 1号机什么时候开始 走那半个地球 其导致的额外飞机的数目多少了

显然1号机的 走那半个地球 的油耗都是由其他飞机负担的 同时 其他 飞机需要 回到 飞机场 所以

 (1号同向的油耗*3 + 1号逆向的油耗*3) 。。 ( 1号同向的油耗+ 1号逆向的油耗)= 半个地球的油耗 

这是不考虑飞机次数的 理论上的最小数值即 最最少也得 3+1个油罐  。。。。 应该是5架飞机没有错了,反正不可能是3,4架那么少的。

证明还没有结束,已然力尽。。。。,小的献丑了,各位大神勿喷,如有错误请多指教


 

2014年12月22日 13:19:42

lxy54101

毕业生吉林大学

三架飞机

设三架飞机为ABC

ABC同时起飞,飞到半圈四分之一,A把BC的油箱加满,然后返回,BC继续往前飞,飞到某一点B为C加满油然后返回,这时要使B尽可能多的为C加油,所以B为C加油后返程到距起点三分之一处油耗尽(因为这时让A又去接应B,而最长接应距离为距起点三分之一处),可以设B又往前飞距离x后为C加油然后返回,可列方程2x+(1/4+x-1/3) = 1

求得x=13/36,即在1/4+13/36=11/18处B为C加满油然后返回,这样C继续飞过半个地球到达另一边距起点距离小于1/4的一点,这时动用AB即可安全把C接回机场。

注:以上计算的分数,均以半圈为1计算

2014年12月22日 16:35:02

CSDN-木水辰

毕业生北京邮电大学

题目是问:几架次的飞机。的确共需3架飞机即可完成任务,从目前的讨论来看,至少需要出动5架次的飞机,可由3架飞机轮番实现。

2014年12月22日 16:54:55

Orange丶xc

毕业生天津市职业大

5架、只想说3架的孩子们:飞机只有一个油箱,加不了两箱油、

2014年12月25日 21:50:33

可爱滴狗狗

毕业生湖南工学院

哦,弄错了,不好意思

2014年12月28日 16:11:49

CSDN-木水辰

毕业生北京邮电大学

不用不好意思呢,讨论问题要敢于表露自己的观点,这样才会知道是对的还是错的。说出来自己的想法就是好样的。thumbs_up

2014年12月30日 14:57:08

zowa13

毕业生九江学院

那架只用了1/3,另外两架各给它1/3,那就是2/3了,油箱装不下那么多。

2014年12月31日 17:05:14

Modiz

毕业生湖南工业大学

蛋疼的算了下,考虑的是飞机不能反向飞的情况,算出了14架。刚开始8架齐飞,每次油耗三分之一处加油回家一半。。。然后准备接机吧。。。orz...

2015年01月03日 11:10:43

loveincode_

学生上海第二工业

 考虑1/3后发现需要6架 1/4也需要6架 (数字后面的 单位 为 箱/油  后面 也省略)

要使其中一架飞机绕地球飞一圈回到飞机场,除去本省的 1 ,还需要 1 的油

出动 飞机 ①②③

不难理解,飞机①②③使用 1/4,把②的1/4给①,②的1/4给③,②回去,①③继续飞。这时 ①③还有 1 的油。(①还差3/4的 油)

飞机①③继续飞1/4,飞机③的1/4给①,剩下1/2回去,此时①还有1的油,(①还差1/2的)

此时 从机场反向出发④⑤⑥,飞 1/4后 ,④的1/4给⑤,④的1/4给⑥,⑤,⑥此时有1的油,

⑤⑥再飞 1/4 遇到① 分别给 1/4给① 这样1就满足了回去的 油。

使用1/3 考虑也是需要6架,请解释5架是怎么出来的?

 

想不通。

 

 

 

2015年01月06日 20:21:58

loveincode_

学生上海第二工业

知道了 ,4 5出去 时候 没考虑清楚,哎,好笨,开始看不到答案图,以为楼主让我们思考,刷新之后发现有答案图。。才理解。

2015年01月06日 20:31:40

CSDN-木水辰

毕业生北京邮电大学

这8架齐飞是个什么情况?为什么要同时出动这么多架飞机呢?

2015年01月07日 11:38:32

CSDN-木水辰

毕业生北京邮电大学

经过自己的思考能想明白了,哪里有笨的说呢。

2015年01月07日 11:40:23

Modiz

毕业生湖南工业大学

为了保证有一架灰机飞完一半的路程还是保证满油的状态。。。

2015年01月12日 13:41:40

CSDN-木水辰

毕业生北京邮电大学

画个图说明下思路?

2015年01月12日 16:10:23

Modiz

毕业生湖南工业大学

2015年01月14日 00:14:51
Top_arrow