设为首页 | 加入收藏
首页 bte365手机版
程序人生互联网新闻黑客新闻网络创业
WEB开发
PHPJSPASP.NETJavascriptAJAXjQueryNode.js
编程语言
JavaGolangPythonC++C语言VC++C#
站长之家
建站技巧网络赚钱网站安全
数据库
MySQLMSSQLSQLiteMongoDBRedisAccess存储技术
网页设计
HTML+DIV+CSSFlash网页制作技巧
网络技术
网络综合网络管理无线技术云计算云技术攻防知识安全防护
学电脑
电脑常识WindowsLinuxCPU内存显卡硬盘主板
学开发
开发总结365bet注册网站_365bet手机_365bet注册送18开发工具开发手册面试题
w3school
学开发 > 面试题 >

微软面试题:飞机加油问题(智商被压制的节奏,好精妙)

发布时间:2017-09-06 | 阅读次数:1612

(1)每架飞机只有一个油箱

(2)飞机之间可以相互加油(注意是相互,没有加油机)

(3)一箱油可供一架飞机绕地球飞半圈。那么为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?

(4)所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场

(5)所有飞机同时起飞


以下答案是本人分析的结果,如有雷同,欢迎吐槽!

答案:51架

分析:分成2批同时起飞,A批3架,B批48架,绕地球对称飞行,

bte365手机版 首先要知道一架飞机满载油的总航程是地球的半圈,我们把这半圈分成4份,A批飞到总航程的1/4时,让其中1架给2架加满油后返回(每架加1/4的油就满了,剩下的1/4返回时使用),加满油的2架再飞到1/4时,让其中1架给另1架加满油然后返回(加1/4的油就满了,剩下的2/4返回时使用),


再来说一下B批,飞到总航程的1/4时,让其中16架给32架加满油后返回(每架加1/4的油就满了,剩下的1/4返回时使用),加满油的32架再飞到1/4时,让其中16架给另16架加满油然后返回(加1/4的油就满了,剩下的2/4返回时使用),然后让这16架加满油的飞机在原地转圈飞行,


然后我们以机场为起点把地球分成8份,现在是同一时间内,A批的有1架满油飞机的在地球的2/8处,B批的16架满油飞机在地球的6/8处(B批是对称飞行的,所以现在两批的飞机距离是地球的半圈),


再来说一下B批,当A批继续飞行时,B批一直在转圈飞行,也是需要耗油的,
当A批飞到地球的3/8时,A批、B批的飞机都消耗了总航程1/4的油,这时让B批的8架给另8架加满油后返回(每架加1/4的油就满了,剩下的2/4返回时使用),

当A批飞到地球的4/8时,A批消耗了总航程2/4的油,B批消耗了总航程1/4的油,这时让B批的4架给另4架加满油后返回(每架加1/4的油就满了,剩下的2/4返回时使用),
当A批飞到地球的5/8时,A批消耗了总航程3/4的油,B批消耗了总航程1/4的油,这时让B批的2架给另2架加满油后返回(每架加1/4的油就满了,剩下的2/4返回时使用),
当A批的那1架飞到地球的6/8时,正好飞完了总航程所有的油(此时两批飞机相遇了,A飞机没油了),让B批的其中1架飞机给另1架加满油后返回(加1/4的油就满了,剩下的2/4返回时使用,为了节省时间,B批1架飞机需要在与A飞机刚好相遇时,正好加满,然后返回),?
此时,让B批的那1架满油的给A批的那1架没油的飞机加2/4的油,然后就可以一起回机场了。


上一篇:没有了
下一篇:2017年PHP经典面试题