关于一道微软面试题(据称)“飞机问题”详细解答
2012-03-14 16:54
549 查看
今天上午上机课的时候,看论坛精华贴,第一名的题为“微软面试题”,遂好奇打开来看看,看到第二道题的时候,就想弄个明白,废话不多说,先发下题目:
一道关于飞机加油的问题,已知:每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互),没有加油机一箱油可供一架飞机绕地球飞半圈,
问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
答案是:三架。具体步骤,因为我不善于组织文字,所以做了个表格,相信大家一目了然。
一道关于飞机加油的问题,已知:每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互),没有加油机一箱油可供一架飞机绕地球飞半圈,
问题:为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)
答案是:三架。具体步骤,因为我不善于组织文字,所以做了个表格,相信大家一目了然。
飞机 | |||||||
0 | 1/8 | 1/4 | 1/2 | 3/4 | 7/8 | 1 | |
A | 三架飞机同时起飞 | 分别给B、C加1/4油,剩余1/4,返航 | 满油反方向启航,迎接C | 与C接头,给C加1/4油,自身剩余1/4油,随C返航 | 接受B1/4油 | 抵达 | |
B | 三架飞机同时起飞 | 接受A油,满油状态 | 给C加1/4油,剩余1/2,返航 | 反方向启航,迎接A和C | B在此处与A、C相遇,分别给A、C加1/4油,然后一起返航 | 抵达 | |
C | 三架飞机同时起飞 | 接受A油,满油状态 | 接受B油,满油状态 | 飞过1/2处 | 飞到3/4处,接收A送来的1/4油,飞向7/8处 | 接受B1/4油 | C绕地球一圈,抵达机场 |
相关文章推荐
- 关于一道微软面试题的解答
- 一道微软面试题的解答【镜子问题】
- JS中关于call()方法的一个问题(转自百度知道,解答非常详细清楚)
- 一道关于飞机加油的问题
- 一道关于飞机加油的问题
- 关于一道老微软面试题的新解
- 一道微软面试题的解答
- 关于论坛上那个SQL微软面试题。我的解答方法 :-)
- 从微软的一道面试题谈问题解决之道
- 一道关于宏的面试题及解答
- 关于一道面试题的源代码解答
- 一道面试题:关于fork的问题
- 关于微软面试题:"四人过桥"问题的思考——“n人过桥”问题的演进(Java实现)
- 一道经典的关于Fibonacci数列的面试题(问题)的新想法 -> N阶楼梯问题
- 关于一道微软面试题的思考
- 对一道面试题的总结与扩展思考(关于一笔画问题的数学分析)
- 对一道面试题的总结与扩展思考(关于一笔画问题的数学分析)
- 关于一道谷歌面试题——丑数的解答
- 关于Xerces-C++执行schema校验相关问题的详细解答