微软面试题 飞机加油
  sAAkk3Vxfaa8 2023年11月02日 47 0


背景:一道关于飞机加油的问题,已知:每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机一箱油可供一架飞机绕地球飞半圈。
问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)

 

 

 

1号

2号

3号

4号

1号

1

 

 

 

2号

1+1/3

(1/3)*2

 

 

3号

1+1/4+1/4

(1/4+1/4)*2

(1/4)*2

 

4号

1+1/5+1/5+1/5

(1/5+1/5+1/5)*2

(1/5+1/5)*2

(1/5)*2

 

分析:设一箱油能飞1,1为地球的半圈。让1号飞机飞地球一圈。

a,如果只有一个飞机1号飞机只能飞半圈,而且不能返回。

b,如果有两个飞机,飞机2号在飞了1/3后,将自己的1/3油给1号飞机,2号自己还有1/3的油正好可以返回,1号飞机这个时候最多可以飞到1+1/3。

c,如果有三个飞机,飞机3号在1/4处,将1/4油给1号,1/4油给2号,自己留1/4正好返回,飞机2号在飞1/2时将1/4油给1号,自己还有1/2的油正好可以放回。这种情况1号飞机可以飞到1+1/4+1/4了。

d,这里有一个特别的地方,这时候要从另一个方向去给这个飞机加油,当1号飞机飞到1时,启动2号去接1号飞机,当遇到1号飞在1/2时,将1/4的油给1号飞机,1号和2号飞机飞到1/4时,3号飞机去接,每个飞机1/4油正好返回。

 

注意:一开始啊,这个脑袋没有转过弯来(越来越笨了),没有想到,可以反方向去接的,老是正方向去推,觉得这个题无解,哎,可悲啊。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
sAAkk3Vxfaa8