- 相關(guān)推薦
蘋果面試題及答案
問(wèn)題一:
“你前面站了5個(gè)人,他們中間只有一個(gè)人講真話……”
這個(gè)問(wèn)題比上個(gè)問(wèn)題難就難在,你只知道他們五個(gè)中有一個(gè)只講真話,但其余四個(gè),他們有時(shí)候講真話,有時(shí)候講假話,只有一點(diǎn)可以確定,這四個(gè)人將真話和假話有個(gè)規(guī)律:如果這次講了真話,下次就會(huì)講假話,如果這次講假話,下次就講真話。你的任務(wù)是,把五個(gè)人中那個(gè)只講真話的人找出來(lái)。
你可以問(wèn)兩個(gè)問(wèn)題,兩個(gè)問(wèn)題可以向同一個(gè)人發(fā)問(wèn),也可以分別問(wèn)兩個(gè)人。
你該問(wèn)什么問(wèn)題?
小提示:你可以這樣安排兩個(gè)問(wèn)題承擔(dān)的任務(wù):首先你可以先問(wèn)一個(gè)問(wèn)題,不管得到的答案是什么,你都能從中知道下一個(gè)問(wèn)題你將得到的答案是真是假。
求職者的最佳答案:
隨便找一個(gè)人,首先問(wèn):“你是那個(gè)只講真話的嗎?”如果答案是肯定的,你再問(wèn)這個(gè)人:“誰(shuí)是只講真話的?”;如果第一個(gè)問(wèn)題你得到的答案是否定的,你就再問(wèn)對(duì)方“誰(shuí)不是只講真話的?”
正如這個(gè)問(wèn)題給出的提示,第一個(gè)問(wèn)題的價(jià)值在于,如果你得到的答案是“我是”,那么你問(wèn)的人要么是那個(gè)只講真話的,要么是那個(gè)這一輪講假話的“半真話半假話”者,不管是誰(shuí),他下一輪一定會(huì)說(shuō)真話。所以你可以繼續(xù)問(wèn)這個(gè)人:“誰(shuí)是只講真話的?”對(duì)方的答案就是正確答案。
如果對(duì)第一個(gè)問(wèn)題你得到的答案是“我不是”,那么回答者不可能是只講真話的那個(gè)人,只能是一個(gè)此輪講真話的“半真話半假話”者。此人下一輪將會(huì)說(shuō)假話,所以你應(yīng)該問(wèn)他:“誰(shuí)不是只講真話的?”同樣他告訴你的,只能是那個(gè)只講真話的。
問(wèn)題二:
“你面前有兩扇門,其中一扇門內(nèi)藏著寶藏,但如果你不小心闖入另一扇門,只能痛苦地慢慢死掉……”
這一聽就是那種經(jīng)典的最令人頭痛的一類問(wèn)題,但其實(shí)與其他問(wèn)題相比,這只是個(gè)熱身。在這兩扇門后面,有兩個(gè)人,這兩個(gè)人都知道哪扇門后有寶藏,哪扇門擅闖者死,而這兩個(gè)人呢,一個(gè)人只說(shuō)真話,一個(gè)人只說(shuō)假話。
誰(shuí)說(shuō)真話誰(shuí)說(shuō)假話?那就要看你有沒(méi)有智慧自己找出來(lái)了,游戲規(guī)則是,你只能問(wèn)這兩個(gè)人每人一個(gè)問(wèn)題。
那么,你問(wèn)什么問(wèn)題?問(wèn)哪個(gè)人?根據(jù)他們的回答,你又該怎么做?
求職者的最佳答案:
隨便問(wèn)其中一個(gè)人:“如果我問(wèn)另一個(gè)人,他會(huì)跟我說(shuō)哪扇門后是寶藏?
如果你問(wèn)的恰好是講真話的那個(gè)人,那他指給你的答案就是那扇通向死亡的門,因?yàn)樗麜?huì)誠(chéng)實(shí)地告訴你那個(gè)說(shuō)謊的人會(huì)怎么說(shuō)。
如果你問(wèn)的是那個(gè)只說(shuō)謊話的,你得到的也是錯(cuò)誤的答案,因?yàn)榱硪粋(gè)人是講真話的,說(shuō)謊話的人會(huì)告訴你與講真話的人相反的答案。
所以你只要隨便問(wèn)一個(gè)人上述問(wèn)題,然后選擇與他們說(shuō)的相反的門就行了。
問(wèn)題三:
“你面前有一百個(gè)燈泡,排成一排……”
一百個(gè)燈泡排成一排,第一輪你把他們?nèi)即蜷_亮著,然后第二輪,你每隔一個(gè)燈泡關(guān)掉一個(gè),這樣所有排在偶數(shù)的燈泡都被關(guān)掉了。
然后第三輪,你每隔兩個(gè)燈泡,將開著的燈泡關(guān)掉,關(guān)掉的燈泡打開(也就是說(shuō)將所有排在3的倍數(shù)的燈泡的開關(guān)狀態(tài)改變)。
以此類推,你將所有排在4的倍數(shù)的燈泡的開關(guān)狀態(tài)改變,然后將排在5的倍數(shù)的燈泡開關(guān)狀態(tài)改變……
第100輪的時(shí)候,還有幾盞燈泡亮著?
提示:如果你是第n輪(n大于1小于100),排在n的倍數(shù)位置的燈泡的開關(guān)狀態(tài)就發(fā)生轉(zhuǎn)變。
反過(guò)來(lái),比如第8個(gè)燈泡,當(dāng)你在8的因子輪(即第1,2,4和8輪)的時(shí)候,它就會(huì)改變開關(guān)狀態(tài)。所以對(duì)于第m個(gè)燈泡,如果m有奇數(shù)個(gè)因子,你的開關(guān)狀態(tài)就發(fā)生奇數(shù)次變化。
求職者的最佳答案:
10盞燈泡亮著,這10盞燈泡排位數(shù)都是平方數(shù)。
根據(jù)提示已經(jīng)可以看出,這個(gè)問(wèn)題的實(shí)質(zhì)就是找出有多少個(gè)燈泡的排位數(shù)擁有奇數(shù)個(gè)因子。每擁有一個(gè)因子,到這個(gè)因子數(shù)的那一輪時(shí),這個(gè)燈泡就會(huì)被轉(zhuǎn)換開關(guān)狀態(tài)。
比如第1輪,因?yàn)樗?00個(gè)數(shù)字都有因數(shù)1,所以全部被打開;第2輪,只有那些擁有2這個(gè)因子、能被2整除的數(shù)字的燈泡轉(zhuǎn)換狀態(tài)被關(guān)掉;第3輪,只有那些擁有3這個(gè)因子、能被3整除的數(shù)字的燈泡被轉(zhuǎn)換狀態(tài)。以此類推,如果燈泡排位數(shù)擁有奇數(shù)個(gè)因子,意味著它被打開和關(guān)上奇數(shù)次,那它就最終還是被打開的狀態(tài),如果燈泡排位數(shù)擁有偶數(shù)個(gè)因子,那它最終就是被關(guān)上的狀態(tài)。
比如第1個(gè)燈泡有奇數(shù)個(gè)因子,第2個(gè)有偶數(shù)個(gè)(1,2),第3個(gè)有偶數(shù)個(gè)(1,3)第4個(gè)有奇數(shù)個(gè)(1,2,4),所以 第4個(gè)燈泡最后還是亮著的。
最終計(jì)算得出,所有排位數(shù)為平方數(shù)的燈泡最終還是亮著的,因?yàn)檫@些數(shù)都擁有奇數(shù)個(gè)因子,1,4,9,16……
在100以內(nèi),共有10個(gè)平方數(shù),分別是1,4,9,16,25,36,49,64,81,100。這10個(gè)排位數(shù)的燈泡,最終都還是亮著。
問(wèn)題四:
“你有一個(gè)立方體,立方體的邊長(zhǎng)是3……”
這個(gè)問(wèn)題比前面那個(gè)從左上格子走到右下格子的問(wèn)題難,因?yàn)槟钱吘故莻(gè)平面問(wèn)題。如圖所示,這次的任務(wù)是從立方體的背面左上的小立方體走到完全相對(duì)的正面右下小立方體。
你可以往上移,也可以往下移,還可以往前移。
問(wèn)題還是,你共有幾種走法?
求職者的最佳答案:
90種,思路是將這個(gè)立方體分成“三層”。
上面平面圖的那道題的思路就是個(gè)最好的提示。你可以將這個(gè)立方體分成“三層”,粉紅色代表最上面那層,紫色代表中間那層,橘紅色代表下面那層。
現(xiàn)在,我們把問(wèn)題變成了:從左邊、右邊和上邊到達(dá)目標(biāo)小立方體的走法共有多少(如圖所示,即到達(dá)紫色中間層最右下腳方塊以及橘紅色最右下腳左邊以及上邊相鄰方塊的方法)?假設(shè)從起點(diǎn)小立方體到達(dá)終點(diǎn)小立方體左邊相鄰小立方體共有m種方法,到達(dá)右邊相鄰小立方體共有n種方法,到達(dá)上邊相鄰小立方體有r種方法,那我們需要求出來(lái)的,就是n+m+r.
問(wèn)題四:
“外星人打算將地球用來(lái)種蘑菇,并且已經(jīng)抓了十個(gè)人類……”
外星人用這十個(gè)人代表地球60億人口,將通過(guò)外星人的方式來(lái)測(cè)試這十個(gè)人,決定地球是不是有資格加入跨星際委員會(huì),如果沒(méi)有,就把地球變成一個(gè)蘑菇農(nóng)場(chǎng)。
明天,這十個(gè)人將被關(guān)在一間漆黑的屋子里前后排成一隊(duì),外星人將給每個(gè)人戴一頂帽子,帽子為紫色或者綠色,然后外星人會(huì)將燈打開,這十個(gè)人每個(gè)人都無(wú)法看見自己頭上的帽子是什么顏色,但可以看見排在你前面的每個(gè)人頭上帽子的顏色。
帽子的顏色是隨機(jī)的,可能全是紫的,也可能全是綠的,或者是任意的組合。
外星人會(huì)從后往前問(wèn)每一個(gè)人:“你頭上的帽子是什么顏色?”如果這個(gè)人答對(duì)了,這個(gè)人就安然無(wú)事,他所代表的地球上6億人口也將獲救。否則,這個(gè)人將被爆頭,外星人將把他所代表的6億人口變成蘑菇的肥料。每個(gè)人的答案屋子里所有人都可以聽到。
現(xiàn)在,人類的命運(yùn)在你手上,你可以設(shè)計(jì)一個(gè)方案,使這十個(gè)人提前制定一個(gè)計(jì)劃,這個(gè)計(jì)劃必須拯救盡可能多的人。
提示:有個(gè)方案可以讓你拯救其中至少九個(gè)人。
求職者的最佳答案:
第十個(gè)人計(jì)算排在前面的所有人的綠帽子是奇數(shù)還是偶數(shù)并向前面的人發(fā)出一個(gè)信號(hào),這樣排在前面人就可以再通過(guò)排在更前面的所有人的綠帽子的奇偶數(shù)是否變化來(lái)判斷自己帽子的顏色,因?yàn)槿绻G帽子奇偶發(fā)生變化,那自己就是那個(gè)導(dǎo)致變化的“綠帽子”,如果沒(méi)變化,自己就是“紫帽子”。
因?yàn)樗械娜顺嘶卮鹜庑侨说膯?wèn)題不能說(shuō)話,所以第十個(gè)人的“信號(hào)”只能包含在自己的答案里,比如如果排在前面的九個(gè)人有奇數(shù)頂綠帽子,這個(gè)人類就告訴外星人自己的帽子是“綠色”,如果是偶數(shù),就猜自己的帽子是“紫色”。這樣等于給他前面的人一個(gè)暗號(hào),排在他前面的這個(gè)人,可以通過(guò)計(jì)算自己前面的所有人的綠帽子的奇偶變化來(lái)判斷自己的帽子是綠還是紫。
排在最后的那個(gè)人為了大眾利益沒(méi)有選擇,根據(jù)前面的人的帽子情況告訴外星人自己是“綠帽子”還是“紫帽子”,他的答案有1/2的幾率正確,但他前面的人一定都能答對(duì)。
還沒(méi)懂?比如第十個(gè)人看到前面有奇數(shù)個(gè)綠帽子,他就告訴外星人自己的是綠色,這是他前面的人就知道他的意思是前面九個(gè)人中有奇數(shù)個(gè)綠帽子,這是第九個(gè)人再數(shù)前面八個(gè)人的,如果前面八個(gè)人中也有奇數(shù)個(gè),那自己就是紫色帽子。第九個(gè)人告訴外星人自己是紫色帽子,第八個(gè)人就知道綠帽子沒(méi)有減少還是奇數(shù)個(gè),再數(shù)數(shù)前面七個(gè)人綠帽子數(shù)的奇偶,就可以判斷自己帽子的顏色;反之,如果第九個(gè)人告訴外星人自己是綠色帽子,那第八個(gè)人就應(yīng)該知道綠色帽子減少了一個(gè)由奇數(shù)變成了偶數(shù),再看看前面所有的綠帽子情況作出判斷。這樣一個(gè)接一個(gè),只要每個(gè)人都認(rèn)真聽后面的人的答案并在心里計(jì)算所剩綠帽子的奇偶變化,前面九個(gè)人都能獲救。
當(dāng)然,你也可以計(jì)算紫色帽子的奇偶。
問(wèn)題五:
“100個(gè)完美的邏輯學(xué)家坐在一個(gè)房間里……”
這是一個(gè)電視真人秀節(jié)目,節(jié)目里100個(gè)擁有完美無(wú)瑕邏輯思維能力的人圍成一圈坐在一個(gè)房間里。在進(jìn)入房間前,這100個(gè)人被告知,100個(gè)人中至少有一個(gè)人的額頭是藍(lán)色的。你可以看見別人額頭的顏色,但無(wú)法看到自己的,你需要對(duì)自己額頭是不是藍(lán)色進(jìn)行猜測(cè),在房間的燈被關(guān)掉時(shí),如果你推測(cè)出你的額頭是藍(lán)色的,你需要站起來(lái)離開房間。
然后房間的燈被再次打開,那些認(rèn)為自己額頭是藍(lán)色的人已經(jīng)不在屋內(nèi)。接下來(lái)燈會(huì)再次被關(guān)掉,剩下的人中推測(cè)自己額頭是藍(lán)色的離開房間,如此重復(fù)。
問(wèn)題來(lái)了,假設(shè)這100個(gè)人的額頭都是藍(lán)色的,將會(huì)發(fā)生什么情況?注意,這100個(gè)人都有完美無(wú)瑕的邏輯推理能力,他們會(huì)根據(jù)其他人的額頭顏色對(duì)自己進(jìn)行合理的推理和猜測(cè)。
提示:想想看,如果100個(gè)人不全是藍(lán)色額頭,又會(huì)發(fā)生什么情況?
求職者的最佳答案:
將會(huì)出現(xiàn)的情況是:燈關(guān)了又開,開了又關(guān),重復(fù)到第一百次時(shí),所有人都同時(shí)離開。
這是為什么呢?想想看,每個(gè)人都看見其他99個(gè)人額頭是藍(lán)色的,燈關(guān)掉后再打開,發(fā)現(xiàn)這99個(gè)藍(lán)色額頭的同伴都沒(méi)有離開,然后燈再次關(guān)掉后打開,如此重復(fù)100遍后,所有人同時(shí)離開了房間。
這么理解吧,假設(shè)只有一個(gè)人的額頭是藍(lán)色的,由于這100個(gè)人事先被告知至少有一個(gè)人額頭是藍(lán)色,所以這個(gè)人如果看到其他99個(gè)人額頭都不是藍(lán)色,立馬就知道自己是藍(lán)色,所以燈一關(guān)掉,這個(gè)人就會(huì)離開房間。
如果有兩個(gè)人額頭是藍(lán)色呢?
其中一個(gè)藍(lán)色額頭的人會(huì)想:我的額頭可能是藍(lán)色也可能不是藍(lán)色,現(xiàn)在其他99個(gè)人中有一個(gè)藍(lán)色額頭的人,如果我不是藍(lán)色,那么就只有這一個(gè)人是,那么他看到我們都不是藍(lán)色額頭就能推斷出他是,那么燈一關(guān)他就會(huì)離開,我先等一下,燈再打開如果他已經(jīng)走了,那就證明我的額頭不是藍(lán)色的。
反之,如果我的額頭是藍(lán)色的,那個(gè)藍(lán)色額頭的人的想法會(huì)和我剛才的想法一樣先等一等,第一次關(guān)燈他不會(huì)離開,這樣如果燈開了那個(gè)藍(lán)色額頭的人還在,就證明我的額頭也是藍(lán)色的。這樣第二次關(guān)燈我們倆會(huì)一起離開。
以此類推,如果有三個(gè)人額頭是藍(lán)色,你看到另外兩個(gè)人額頭是藍(lán)色,應(yīng)該推算出如果自己的額頭不是藍(lán)色的話,那么燈第二次關(guān)的時(shí)候他們倆會(huì)同時(shí)離開,如果他們倆沒(méi)有同時(shí)離開,那就證明我的額頭是藍(lán)色的,我應(yīng)該在第三次關(guān)燈的時(shí)候離開。結(jié)果是,三個(gè)藍(lán)色額頭的人在第三次關(guān)燈的時(shí)候同時(shí)離開。
把上述邏輯重復(fù)一百遍,你就得到了最上面的正確答案。
問(wèn)題六:
“你有一個(gè)橫6豎6的方格……”
你現(xiàn)在在左上第一個(gè)格子里,你的任務(wù)是移動(dòng)到最右下腳的格子里,你每次只能向右或者向下移動(dòng),不能斜向移動(dòng),也不能后退。
你能找出幾種方法移動(dòng)到最右下腳的格子?
求職者的最佳答案:
252種。
從對(duì)稱的角度思考這個(gè)問(wèn)題。
隨便挑選一個(gè)格子,假設(shè)你從出發(fā)點(diǎn)有n種方法從到達(dá)與所選格子上邊相鄰的格子,m種方法到達(dá)與它左邊相鄰的格子。
想想看,從出發(fā)點(diǎn)到達(dá)一個(gè)格子的方法與到達(dá)它左邊和上邊的格子的方法有什么關(guān)系?說(shuō)對(duì)了,由于你只能向右和向下移動(dòng),到達(dá)一個(gè)格子,不是從它左邊來(lái),就是從它上邊來(lái)。所以你從出發(fā)點(diǎn)到達(dá)一個(gè)格子的方法等于到達(dá)它上邊格子的方法好到達(dá)它左邊格子的方法的和相同,也就是n+m.
這樣,參照上圖,你就可以算出從出發(fā)點(diǎn)到達(dá)每一個(gè)格子的方法了。
問(wèn)題七:
“邏輯學(xué)家們圍成一圈坐著,他們的額頭上面畫有數(shù)字……”
又來(lái)一個(gè)邏輯學(xué)家圍成一圈的問(wèn)題,這次是這樣的,三個(gè)擁有完美邏輯推理能力的人圍成一圈坐在一個(gè)房間里,每個(gè)人的額頭上都畫著一個(gè)大于0的數(shù)字,三個(gè)人的數(shù)字各不相同,每個(gè)人都看得見其他兩個(gè)人的數(shù)字,看不見自己的。
這三個(gè)數(shù)字的情況是,其中一個(gè)數(shù)字是其他兩個(gè)數(shù)字的和,已知的情況還有,其中一個(gè)邏輯學(xué)家的數(shù)字是20,一個(gè)是30。
游戲組織者從這三個(gè)邏輯學(xué)家后面走過(guò),并問(wèn)三個(gè)人各自額頭上的數(shù)字是什么。但第一輪每個(gè)邏輯學(xué)家都回答他們無(wú)法推測(cè)自己的數(shù)字是什么。游戲組織者只好進(jìn)行第二輪的發(fā)問(wèn),這是為什么?你能據(jù)此猜出三個(gè)邏輯學(xué)家的數(shù)字嗎?
求職者的最佳答案:
結(jié)果由第三個(gè)邏輯學(xué)家的答案而定。他們?nèi)齻(gè)的數(shù)字分別是20,30和50。
假設(shè)第二個(gè)和第三個(gè)邏輯學(xué)家額頭上的數(shù)字是20和30,這時(shí)候如果第一個(gè)邏輯學(xué)家的數(shù)字是10,那么第二個(gè)邏輯學(xué)家看到其他兩個(gè)人一個(gè)是10,一個(gè)是30,會(huì)想:“我要么是20,要么是40.”
第三個(gè)邏輯學(xué)家看到其他兩個(gè)人一個(gè)是10,一個(gè)是20,會(huì)想:“我要么是30,要么是10,但我不會(huì)是10,因?yàn)槊總(gè)數(shù)字都不一樣,所以我應(yīng)該是30.”
這樣第三個(gè)邏輯學(xué)家就會(huì)猜出自己的數(shù)字是30了,但他沒(méi)有,第一輪誰(shuí)也沒(méi)有準(zhǔn)確推測(cè)出自己的數(shù)字,這說(shuō)明我們的前提不正確,第一個(gè)邏輯學(xué)家的數(shù)字不是10,那么他只能是50。