面試中可能會問到的智力題!
?今天面鯨給大家?guī)韮傻烂嬖囍薪?jīng)常考的智力題。在面試的過程中除了考察計算機(jī)基礎(chǔ)知識、算法能力外,一些高level的人還喜歡考一些智力題,并通過觀察候選人的反應(yīng)水平來判斷聰明程度,這個時候可不能掉鏈子呀~
?
飛機(jī)加油問題
問題描述
已知每個飛機(jī)只有一個油箱,飛機(jī)之間可以相互加油,注意是相互,沒有加油機(jī),一箱油可供一架飛機(jī)繞地球飛半圈。
問題:為了使至少一架飛機(jī)繞地球一圈回到起飛時的飛機(jī)場,至少需要出動幾架飛機(jī)?并且要求,所有飛機(jī)從同一飛機(jī)場起飛,而且必須安全返回,不允許中途降落,中間沒有飛機(jī)場。
解答
至少需要3架飛機(jī)飛5次。 三架飛機(jī)同時從機(jī)場O起飛,方向為順時針,此時三架飛機(jī)的油量分別是:A: 1, B: 1, C: 1。 當(dāng)A飛行至半圈的1/4位置時,此時飛機(jī)的油量分別是:A: 3/4, B: 3/4, C: 3/4。此時C分別給A和B加滿油,三架飛機(jī)當(dāng)前油量分別是:A: 1, B: 1, C: 1/4。C返回機(jī)場。A、B繼續(xù)向前飛行。 當(dāng)A飛行至半圈的1/2位置時,此時C已經(jīng)返回機(jī)場,三家飛機(jī)此時油量分別是:A: 3/4, B: 3/4, C: 0。此時B給A加滿油,C加滿油,此時三架飛機(jī)的油量分別是:A: 1, B: 1/2, C: 1。然后B返回機(jī)場,A繼續(xù)向前飛行。 當(dāng)A飛行至半圈位置時,B已經(jīng)返回機(jī)場并且加滿了油(假設(shè)加油時間為0),此時,B和C沿逆時針方向飛行,三架飛機(jī)當(dāng)前油量分別是:A: 1/2, B: 1, C: 1。A繼續(xù)向前飛行。 當(dāng)A飛行至另外半圈的1/4位置時,三架飛機(jī)剩余油量分別是:A: 1/4, B: 3/4, C: 3/4。此時,C給B加滿油。此時三架飛機(jī)油量分別是:A: 1/4, B: 1, C: 1/2。C返回機(jī)場,B和A繼續(xù)向前飛行。 當(dāng)A飛行至另外半圈的1/2位置時,C已經(jīng)返回機(jī)場,A和B相遇,此時三架飛機(jī)剩余油量分別是:A: 0, B: 3/4, C: 0。B給A加1/4的油,三架飛機(jī)剩余油量:A: 1/4, B: 1/2, C: 1。C加滿油從機(jī)場逆時針飛出,B返回機(jī)場,A繼續(xù)向前飛行。 當(dāng)A飛行至另外半圈的3/4位置時,A和C相遇。此時三架飛機(jī)的油量分別是:A: 0, B: 1/4, C: 3/4。C給A加1/4的油,此時三架飛機(jī)的油量分別是:A: 1/4, B: 1/4, C: 1/2。C掉頭返回機(jī)場,A和B繼續(xù)向前飛行。 三架飛機(jī)順利回到機(jī)場!
藥水與老鼠
問題描述
有1000個一模一樣的瓶子,其中有999瓶是普通的水,有1瓶是毒藥。任何喝下毒藥的生命都會在一星期之后死亡。現(xiàn)在你只有10只小白鼠和1個星期的時間,如何檢驗出哪個瓶子有毒藥?
解答
當(dāng)然你可以選擇將10只老鼠剁成餡兒,分別放到1000個瓶子中,每個瓶子倒入適量的藥水,放它個一個禮拜看看哪個沒有腐爛或者長蛆。。 其實看到10和1000,他們之間有種關(guān)系,2^10=1024,也就是說1000個瓶子正好可以用10位二進(jìn)制整數(shù)表示。從第一個開始 第1瓶:00 0000 0001 第2瓶:00 0000 0010 第3瓶:00 0000 0011 ... 第1000瓶:11 1110 1000 然后你可以拿這些藥水喂那10只老鼠。比如第3瓶標(biāo)號為00 0000 0011,那么就把第三瓶喂給第1和第2只老鼠,以此類推。最后觀察一下哪些老鼠死掉了。比如死掉的老鼠是1 3 6 7 10這五只,那其實可以得到這瓶毒藥對應(yīng)的標(biāo)號為10 0110 0101,轉(zhuǎn)化為十進(jìn)制為 613號。


臥槽,又來一個神奇的網(wǎng)站!

GitHub上這個微信防撤回的開源項目,99%的程序員不知道
評論
圖片
表情
