75道程序員面試邏輯測試題(附答案)(1)

【1】 假設有一個池塘,裏面有無窮多的水。現有2個空水壺,容積分別爲5升和6升。問題是如何只用這2個水壺從池塘裏取得3升的水。面試

由滿6向空5倒,剩1升,把這1升倒5裏,而後6剩滿,倒5裏面,因爲5裏面有1升水,所以6只能向5倒4升水,而後將6剩餘的2升,倒入空的5裏面,再灌滿6向5裏倒3升,剩餘3升。算法

【2】 周雯的媽媽是豫林水泥廠的化驗員。一天,周雯來到化驗室作做業。作完後想出去玩。"等等,媽媽還要考你一個題目,"她接着說,"你看這6只作化驗用的玻璃杯,前面3只盛滿了水,後面3只是空的。你能只移動1只玻璃杯,就便盛滿水的杯子和空杯子間隔起來嗎?"愛動腦筋的周雯,是學校裏有名的"小機靈",她只想了一下子就作到了。請你想一想看,"小機靈"是怎樣作的?swift

設杯子編號爲ABCDEF,ABC爲滿,DEF爲空,把B中的水倒進E中便可。安全

【3】 三個小夥子同時愛上了一個姑娘,爲了決定他們誰能娶這個姑娘,他們決定用手槍進行一次決鬥。小李的命中率是30%,小黃比他好些,命中率是50%,最出色的槍手是小林,他從不失誤,命中率是100%。因爲這個顯而易見的事實,爲公平起見,他們決定按這樣的順序:小李先開槍,小黃第二,小林最後。而後這樣循環,直到他們只剩下一我的。數據結構

那麼這三我的中誰活下來的機會最大呢?他們都應該採起什麼樣的策略?orm

小林在輪到本身且小黃沒死的條件下必殺黃,再跟菜鳥李單挑。cdn

因此黃在林沒死的狀況下必打林,不然本身必死。blog

小李通過計算比較(過程略),會決定本身先打小林。遞歸

因而經計算,小李有873/2600≈33.6%的生機;事件

小黃有109/260≈41.9%的生機;

小林有24.5%的生機。

哦,這樣,那小李的第一槍會朝天開,之後固然是打敵人,誰活着打誰;

小黃一如既往先打林,小林仍是先幹掉黃,冤家路窄啊!

最後李,黃,林存活率約38:27:35;

菜鳥活下來抱得美人歸的概率大。

李先放一空槍(若是合夥幹中林,本身最吃虧)黃會選林打一槍(如不打林,本身確定先玩完了)林會選黃打一槍(畢竟它命中率高)李黃對決0.3:0.280.4可能性李林對決0.3:0.60.6可能性成功率0.73

李和黃打林李黃對決0.3:0.40.70.4可能性李林對決0.3:0.70.60.70.70.6可能性成功率0.64

【4】 一間囚房裏關押着兩個犯人。天天監獄都會爲這間囚房提供一罐湯,讓這兩個犯人本身來分。起初,這兩我的常常會發生爭執,由於他們老是有人認爲對方的湯比本身的多。後來他們找到了一個一箭雙鵰的辦法:一我的分湯,讓另外一我的先選。因而爭端就這麼解決了。但是,如今這間囚房裏又加進來一個新犯人,如今是三我的來分湯。必須尋找一個新的方法來維持他們之間的和平。該怎麼辦呢?按:心理問題,不是邏輯問題

是讓甲分湯,分好後由乙和丙按任意順序給本身挑湯,剩餘一碗留給甲。這樣乙和丙兩人的總和確定是他們兩人可拿到的最大。而後將他們兩人的湯混合以後再按兩人的方法再次分湯。

【5】 在一張長方形的桌面上放了n個同樣大小的圓形硬幣。這些硬幣中可能有一些不徹底在桌面內,也可能有一些彼此重疊;當再多放一個硬幣而它的圓心在桌面內時,新放的硬幣便一定與原先某些硬幣重疊。請證實整個桌面能夠用4n個硬幣徹底覆蓋。

要想讓新放的硬幣不與原先的硬幣重疊,兩個硬幣的圓心距必須大於直徑。也就是說,對於桌面上任意一點,到最近的圓心的距離都小於2,因此,整個桌面能夠用n個半徑爲2的硬幣覆蓋。

把桌面和硬幣的尺度都縮小一倍,那麼,長、寬各是原桌面一半的小桌面,就能夠用n個半徑爲1的硬幣覆蓋。那麼,把原來的桌子分割成相等的4塊小桌子,那麼每塊小桌子均可以用n個半徑爲1的硬幣覆蓋,所以,整個桌面就能夠用4n個半徑爲1的硬幣覆蓋。

【6】 一個球、一把長度大約是球的直徑2/3長度的直尺.你怎樣測出球的半徑?方法不少,看看誰的比較巧妙

把球放在平面上,把直尺的一邊卡在平面上,一邊卡在球上,球與尺子的接觸點到平面的距離就是球的半徑.由於直尺長度約爲直徑的2/3>半徑,因此能測量.

【7】 五個大小相同的一元人民幣硬幣。要求兩兩相接觸,應該怎麼擺?

底下放一個1,而後2 3放在1上面,另外的4 5豎起來放在1的上面。

【8】 猜牌問題S先生、P先生、Q先生他們知道桌子的抽屜裏有16張撲克牌:紅桃A、Q、4黑桃J、八、四、二、七、3草花K、Q、五、四、6方塊A、5。約翰教授從這16張牌中挑出一張牌來,並把這張牌的點數告訴P先生,把這張牌的花色告訴Q先生。這時,約翰教授問P先生和Q先生:大家能從已知的點數或花色中推知這張牌是什麼牌嗎?因而,S先生聽到以下的對話:P先生:我不知道這張牌。Q先生:我知道你不知道這張牌。P先生:如今我知道這張牌了。Q先生:我也知道了。聽罷以上的對話,S先生想了一想以後,就正確地推出這張牌是什麼牌。請問:這張牌是什麼牌? 方塊5

【9】 一個教授邏輯學的教授,有三個學生,並且三個學生均很是聰明!一天教授給他們出了一個題,教授在每一個人腦門上貼了一張紙條並告訴他們,每一個人的紙條上都寫了一個正整數,且某兩個數的和等於第三個!(每一個人能夠看見另兩個數,但看不見本身的)教授問第一個學生:你能猜出本身的數嗎?回答:不能,問第二個,不能,第三個,不能,再問第一個,不能,第二個,不能,第三個:我猜出來了,是144!教授很滿意的笑了。請問您能猜出另外兩我的的數嗎?

通過第一輪,說明任何兩個數都是不一樣的。第二輪,前兩我的沒有猜出,說明任何一個數都不是其它數的兩倍。如今有了如下幾個條件:1.每一個數大於02.兩兩不等3.任意一個數不是其餘數的兩倍。每一個數字多是另兩個之和或之差,第三我的能猜出144,必然根據前面三個條件排除了其中的一種可能。假設:是兩個數之差,即x-y=144。這時1(x,y>0)和2(x!=y)都知足,因此要否認x+y必然要使3不知足,即x+y=2y,解得x=y,不成立(否則第一輪就可猜出),因此不是兩數之差。所以是兩數之和,即x+y=144。同理,這時1,2都知足,必然要使3不知足,即x-y=2y,兩方程聯立,可得x=108,y=36。

這兩輪猜的順序其實分別爲這樣:第一輪(一號,二號),第二輪(三號,一號,二號)。這樣分你們在每輪結束時得到的信息是相同的(即前面的三個條件)。

那麼就假設咱們是C,來看看C是怎麼作出來的:C看到的是A的36和B的108,由於條件,兩個數的和是第三個,那麼本身要麼是72要麼是144(猜到這個是由於72的話,108就是36和72的和,144的話就是108和36的和。這樣子這句話看不懂的舉手):

假設本身(C)是72的話,那麼B在第二回合的時候就能夠看出來,下面是若是C是72,B的思路:這種狀況下,B看到的就是A的36和C的72,那麼他就能夠猜本身,是36或者是108(猜到這個是由於36的話,36加36等於72,108的話就是36和108的和):

若是假設本身(B)頭上是36,那麼,C在第一回合的時候就能夠看出來,下面是若是B是36,C的思路:這種狀況下,C看到的就是A的36和B的36,那麼他就能夠猜本身,是72或者是0(這個再也不解釋了):

若是假設本身(C)頭上是0,那麼,A在第一回合的時候就能夠看出來,下面是若是C是0,A的思路:這種狀況下,A看到的就是B的36和C的0,那麼他就能夠猜本身,是36或者是36(這個再也不解釋了),那他能夠一口報出本身頭上的36。(而後是逆推逆推逆推),如今A在第一回合沒報出本身的36,C(在B的想象中)就能夠知道本身頭上不是0,若是其餘和B的想法同樣(指B頭上是36),那麼C在第一回合就能夠報出本身的72。如今C在第一回合沒報出本身的36,B(在C的想象中)就能夠知道本身頭上不是36,若是其餘和C的想法同樣(指C頭上是72),那麼B在第二回合就能夠報出本身的108。如今B在第二回合沒報出本身的108,C就能夠知道本身頭上不是72,那麼C頭上的惟一可能就是144了。

史上最雷人的應聘者

【10】 某城市發生了一塊兒汽車撞人逃跑事件,該城市只有兩種顏色的車,藍15%綠85%,事發時有一我的在現場看見了,他指證是藍車,可是根據專家在現場分析,當時那種條件能看正確的可能性是80%那麼,肇事的車是藍車的機率究竟是多少?

15%*80%/(85%×20%+15%*80%)

【11】 有一人有240公斤水,他想運往乾旱地區賺錢。他每次最多攜帶60公斤,而且每前進一千米須耗水1公斤(均勻耗水)。假設水的價格在出發地爲0,之後,與運輸路程成正比,(即在10千米處爲10元/公斤,在20千米處爲20元/公斤......),又假設他必須安全返回,請問,他最多可賺多少錢?

f(x)=(60-2x)*x,當x=15時,有最大值450。

450×4

【12】 如今共有100匹馬跟100塊石頭,馬分3種,大型馬;中型馬跟小型馬。其中一匹大馬一次能夠馱3塊石頭,中型馬能夠馱2塊,而小型馬2頭能夠馱一塊石頭。問須要多少匹大馬,中型馬跟小型馬?(問題的關鍵是恰好必須是用完100匹馬) 6種結果

【13】 1=5,2=15,3=215,4=2145那麼5=?

由於1=5,因此5=1.

【14】 有2n我的排隊進電影院,票價是50美分。在這2n我的當中,其中n我的只有50美分,另外n我的有1美圓(紙票子)。愚蠢的電影院開始賣票時1分錢也沒有。問:有多少種排隊方法使得每當一個擁有1美圓買票時,電影院都有50美分找錢

注:1美圓=100美分擁有1美圓的人,擁有的是紙幣,無法破成2個50美分

本題可用遞歸算法,但時間複雜度爲2的n次方,也能夠用動態規劃法,時間複雜度爲n的平方,實現起來相對要簡單得多,但最方便的就是直接運用公式:排隊的種數=(2n)!/[n!(n+1)!]。

若是不考慮電影院可否找錢,那麼一共有(2n)!/[n!n!]種排隊方法(即從2n我的中取出n我的的組合數),對於每一種排隊方法,若是他會致使電影院沒法找錢,則稱爲不合格的,這種的排隊方法有(2n)!/(n-1)!(n+1)!種,因此合格的排隊種數就是(2n)!/[n!n!]- (2n)!/[(n-1)!(n+1)!] =(2n)!/[n!(n+1)!]。至於爲何不合格數是(2n)!/[(n-1)!(n+1)!],提及來太複雜,這裏就不講了。

【15】 一我的花8塊錢買了一隻雞,9塊錢賣掉了,而後他以爲不划算,花10塊錢又買回來了,11塊賣給另一我的。問他賺了多少?

2元

【16】 有一種體育競賽共含M個項目,有運動員A,B,C參加,在每一項目中,第一,第二,第三名分別的X,Y,Z分,其中X,Y,Z爲正整數且X>Y>Z。最後A得22分,B與C均得9分,B在百米賽中取得第一。求M的值,並問在跳高中誰得第二名。

由於ABC三人得分共40分,三名得分都爲正整數且不等,因此前三名得分最少爲6分,40=58=410=220=120,不可貴出項目數只能是5.即M=5.

A得分爲22分,共5項,因此每項第一名得分只能是5,故A應得4個一名一個二名.22=5*4+2,第二名得1分,又B百米得第一,因此A只能得這個第二.

B的5項共9分,其中百米第一5分,其它4項全是1分,9=5+1=1+1+1.即B除百米第一外全是第三,跳高第二一定是C所得.

【17】 前提:

1 有五棟五種顏色的房子

2 每一位房子的主人國籍都不一樣

3 這五我的每人只喝一種飲料,只抽一種牌子的香菸,只養一種寵物

4 沒有人有相同的寵物,抽相同牌子的香菸,喝相同的飲料

提示:1  英國人住在紅房子裏

2  瑞典人養了一條狗

3  丹麥人喝茶

4  綠房子在白房子左邊

5  綠房子主人喝咖啡

6  抽PALL MALL煙的人養了一隻鳥

7  黃房子主人抽DUNHILL煙

8  住在中間那間房子的人喝牛奶

9  挪威人住第一間房子

10 抽混合煙的人住在養貓人的旁邊

11 養馬人住在抽DUNHILL煙的人旁邊

12 抽BLUE MASTER煙的人喝啤酒

13 德國人抽PRINCE煙

14 挪威人住在藍房子旁邊

15 抽混合煙的人的鄰居喝礦泉水

問題是:誰養魚???

第一間是黃房子,挪威人住,喝礦泉水,抽DUNHILL香菸,養貓;! f/ [% a: \6 L! J. Q9 x第二間是藍房子,丹麥人住,喝茶,抽混合煙,養馬;+ o8 _0 S) L8 i' E' u第三間是紅房子,英國人住,喝牛奶,抽PALL MALL煙,養鳥;/ N9 o/ n2 M# U" c第四間是綠房子,德國人住,喝咖啡,抽PRINCE煙,養貓、馬、鳥、狗之外的寵物;7 P5 l) G, G, |; C, {7 V第五間是白房子,瑞典人住,喝啤酒,抽BLUE MASTER煙,養狗。

【18】 5我的來自不一樣地方,住不一樣房子,養不一樣動物,吸不一樣牌子香菸,喝不一樣飲料,喜歡不一樣食物。根據如下線索肯定誰是養貓的人。

  1. 紅房子在藍房子的右邊,白房子的左邊(不必定緊鄰)

  2. 黃房子的主人來自香港,並且他的房子不在最左邊。

  3. 愛吃比薩的人住在愛喝礦泉水的人的隔壁。

  4. 來自北京的人愛喝茅臺,住在來自上海的人的隔壁。

  5. 吸希爾頓香菸的人住在養馬人的右邊隔壁。

  6. 愛喝啤酒的人也愛吃雞。

  7. 綠房子的人養狗。

  8. 愛吃麪條的人住在養蛇人的隔壁。

  9. 來自天津的人的鄰居(緊鄰)一個愛吃牛肉,另外一個來自成都。

10.養魚的人住在最右邊的房子裏。

11.吸萬寶路香菸的人住在吸希爾頓香菸的人和吸「555」香菸的人的中間(緊鄰)

12.紅房子的人愛喝茶。

13.愛喝葡萄酒的人住在愛吃豆腐的人的右邊隔壁。

14.吸紅塔山香菸的人既不住在吸健牌香菸的人的隔壁,也不與來自上海的人相鄰。

15.來自上海的人住在左數第二間房子裏。

16.愛喝礦泉水的人住在最中間的房子裏。

17.愛吃麪條的人也愛喝葡萄酒。

18.吸「555」香菸的人比吸希爾頓香菸的人住的靠右

第一間是蘭房子,住北京人,養馬,抽健牌香菸,喝茅臺,吃豆腐;2 G7 x% z0 v; C第二間是綠房子,住上海人,養狗,抽希爾頓,喝葡萄酒,吃麪條;% C2 k4 o8 t" p6 L* x第三間是黃房子,住香港人,養蛇,抽萬寶路,喝礦泉水,吃牛肉;& N" S% x# o3 a; g第四間是紅房子,住天津人,抽555,喝茶,吃比薩;7 \5 s. J# d, Q/ N% N' O# ]第五間是白房子,住成都人,養魚,抽紅塔山,喝啤酒,吃雞。

【19】 鬥地主附殘局

地主手中牌二、K、Q、J、十、九、八、八、六、六、五、五、三、三、三、三、七、七、七、7

長工甲手中牌大王、小王、二、A、K、Q、J、十、Q、J、十、九、八、五、五、四、4

長工乙手中牌二、二、A、A、A、K、K、Q、J、十、九、九、八、六、六、四、4

三家都是明手,互知底牌。要求是:在三家都不打錯牌的狀況下,地主必需要麼輸要麼贏。問:哪方會贏?

無解地主怎麼出都會輸

【20】 一樓到十樓的每層電梯門口都放着一顆鑽石,鑽石大小不一。你乘坐電梯從一樓到十樓,每層樓電梯門都會打開一次,只能拿一次鑽石,問怎樣才能拿到最大的一顆?

先拿下第一樓的鑽石,而後在每一樓把手中的鑽石與那一樓的鑽石相比較,若是那一樓的鑽石比手中的鑽石大的話那就把手中的鑽石換成那一層的鑽石。

小編給你們推薦一個iOS技術交流羣:763164022! 羣內提供數據結構與算法、底層進階、swift、逆向、底層面試題整合文檔等免費資料!但願找到更多的同行多多交流!如下資料,進羣能夠免費得到哦

相關文章
相關標籤/搜索