前端面试题 —— 飞机加油问题

问题描述:

已知每个飞机只有一个油箱,飞机之间可以互相加油。一箱油可以供一架飞机绕地球飞半圈。
问:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?
注意:所有飞机从同一个机场起飞,且必须安全返回机场。不允许中途降落,但可以加油。
解决思路
首先出动三架飞机甲乙丙,满油同时从O点出发,当飞到A点处时,三架飞机均剩下3/4箱的油,此时飞机丙将1/4箱油给甲飞机,1/4箱油给乙飞机,自己剩下1/4,然后返程,甲乙飞机此时满油,继续飞;
然后飞到B点处时,甲乙飞机均剩下3/4箱的油,此时乙飞机将1/4箱油给甲飞机,自己剩下1/2箱油,返程,甲飞机满油,继续飞;
此时甲飞机满油最多可以飞到C点处,在此过程中,乙丙飞机从点O处满油起飞,因为地球是圆的,所以他们可以反方向飞行,飞了60°角(∠DFO = 60°)时,乙丙飞机均剩下2/3箱油,丙飞机将自己1/3箱油给乙飞机,此时丙飞机剩下1/3,乙飞机满油,所以丙飞机返程,乙飞机继续飞;
假设甲乙飞机是在C点处相遇,且乙飞机已经将自身的一半油给了甲飞机,那么此时在C点处时,甲乙飞机自身油量均为5/12箱油(乙飞机从D点飞到C点花了1/6箱油,跟甲飞机平分油量时油箱剩下5/6了),甲乙同方向飞行;
甲乙飞机的油量最多只能飞到E点处(∠CFE = 75°),所以此时还需要丙飞机再次从O点满油起飞,在E点处将自身剩下的油平分,一起飞回O点;丙飞机飞到E点需要消耗1/12箱油,平分后每架飞机都有11/36箱油,最多可以飞55°角,所以飞回O点绰绰有余了
在这里插入图片描述

答案:至少需要出动三架飞机

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值