微軟面試題 飛機加油

2021-08-25 07:29:38 字數 841 閱讀 8750

背景:一道關於飛機加油的問題,已知:每個飛機只有乙個油箱,飛機之間可以相互加油(注意是相互,沒有加油機一箱油可供一架飛機繞地球飛半圈。

問題:為使至少一架飛機繞地球一圈回到起飛時的飛機場,至少需要出動幾架飛機?(所有飛機從同一機場起飛,而且必須安全返回機場,不允許中途降落,中間沒有飛機場)

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油正好返回。

注意:一開始啊,這個腦袋沒有轉過彎來(越來越笨了),沒有想到,可以反方向去接的,老是正方向去推,覺得這個題無解,哎,可悲啊。

微軟面試題

題目 小明和小強都是張老師的學生,張老師的生日是m月n日,2人都知道張老師的生日是下列10組中的一天,張老師把m值告訴了小明,把n值告訴了小強,張老師問他們知道他的生日是那一天嗎?3月4日 3月5日 3月8日 6月4日 6月7日 9月1日 9月5日 12月1日 12月2日 12月8日 小明說 如果我...

微軟面試題

fly.c4 推薦您必看!六.演算法題 說明 這些題就不是什麼花樣了,考的是你的基礎知識怎麼樣。再聰明而沒有實學的人都將會被這些題所淘汰。1.鍊錶和陣列的區別在 2.編寫實現鍊錶排序的一種演算法。說明為什麼你會選擇用這樣的方法?3.編寫實現陣列排序的一種演算法。說明為什麼你會選擇用這樣的方法?4.請...

微軟面試題

1.燒一根不均勻的繩,從頭燒到尾總共需要1個小時。現在有若干條材質相同的繩子,問如何用燒繩的方法來計時乙個小時十五分鐘呢?答 點燃繩子a的兩端,和繩子b的 一端,當a燒完時,b餘下的可以燒半個小時 這時把b的另一端點燃,並開始計時,等b燒完時可確定15分鐘,然後再點燃繩子c 兩端 燒完總時間為1小時...