關於一道微軟面試題的思考

2021-06-15 22:03:58 字數 643 閱讀 3508

條件:

1.一架飛機加滿油能繞地球飛半圈。

2.飛機之間可以互相加油。

3.只有乙個機場。

問:要多少架飛機起飛才能保證一架飛機繞地球飛一圈?

(所有飛機都必須安全降落,不考慮加油時間) 

我想出來的解決辦法:

設地球周長為s,三架同時起飛,行到1/8s處,一架返航,這時候它消耗了1/4的油,還需要1/4的油返航,

所以它可以給其他每個飛機加1/4的油。 這時候其他兩架飛機的油箱變滿。

第二步,行至1/4s處,這時候兩架飛機各消耗了1/4的油,其中一架返航需要2/4的油,它可以提供給另外

一架飛機1/4的油。這架飛機的油箱又 變滿,它已經航行了地球周長的1/4 ,因此它可以一直行駛到地球

周長的3/4處。

若前面兩架飛機反方向行駛,剛好又可以給它加上油,則他可以完成全程。

有乙個朋友提出了疑問,雖然題中並沒有給出乙個機場不允許兩架飛機同時起降的條件,但是為了保證

安全,機場一般只允許一架飛機同時起降。不然,條件中為什麼給出「只有乙個機場「的條件呢。

那麼要求不同的飛機只能在不同的時刻起飛。於是我打算推翻我的答案。

可是我忽然意識到,若不同時起降,後起飛的時間如何才能追上先起飛的飛機並給它加油呢?

微軟到底在考試人什麼?

對一道微軟面試題的思考

有100萬個數字 1到9 其中只有1個數字重複2次,如何快速找出該數字。大家討論的很激烈,也給出了很多的演算法。lthyxy同學的演算法是 掃瞄一遍做計數,然後看那個數的計數器是2。程式如下 int num 10 for int i 0 i 1000000 i a i 就是你那些數 num a i ...

一道微軟面試題

聽說這是一道微軟面試題,今天無意中在網上看到。幾個月前我同學面試時遇到過乙個類似的題目,幾乎是原題。當時在群裡面討論過這個問題,答案不一。也沒有人知道最後的正確答案。下面是原題,帶答案解析。小明和小強都是張老師的學生,張老師的生日是m月n日,2人都知道張老師的生日是下列10組中的一天,張老師把m值告...

一道微軟面試題

每個飛機只有乙個油箱,飛機之間可以相互加油 注意是相互,沒有加油機 一箱油可供一架飛機繞地球飛半圈,問 為使至少一架飛機繞地球一圈回到起飛時的飛機場至少需要出動幾架飛機?所有飛機從同一機場起飛,而且必須安全返回機場,不允許中途降落,中間沒有飛機場 3架飛機共6架次 這道題的關鍵應該是 繞地球飛 假設...