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

csdn高校俱乐部 面试题 微软 

CSDN-木水辰

毕业生北京邮电大学

已知:

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

问题:

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

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

 

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

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

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

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
Top_arrow