天天看點

幾題面試題以及個人分析

NO.1 題目:給101個硬币,其中有一個是假币,而且看不出來真假,但真假重量不同,給一個無琺碼的天平,稱兩次,求出真假硬币哪個輕,哪個重。  個人分析: 1、先拿出一枚硬币出來,那麼還剩下100個硬币,當然我們不知道拿出來的是真的還是假的硬币。 2、把100個硬币分成兩份,放在天平兩端,這時候會出現一下幾種情況     (1)如果兩端一樣重,那麼說明第1步拿出的那枚是假的,然後從這100個裡面随便取出一枚和這個假币比較,看看誰輕誰重     (2)如果兩端不一樣重,說明假币在天平的兩端中的某一端。比如A端重,B端輕,再将A端的50個分成兩份,放在天平兩端,如果兩端一樣重,說明A端的都是真币,說明真币比較重。否則如果兩端不一樣重,說明假币在A端,說明假币比較重。 NO.2 題目: 有5個強盜(A、B、C、D、E)搶了100個金币準備分。對于怎麼分這些金币,他們設定了一個規則:從A開始給出分金币的提議,然後所有活着的強盜投贊同或反對票,如果反對票數大于或等于贊同票數,A就被殺掉,否則就按此提議分金币;如果A被殺了,接着就輪到B提議,然後同樣按上述規則繼續下去。 假設每一個強盜都是絕對理性的,也就是說他們都是絕頂聰明的(可以考慮到任何情況),而且他們的所有行為(提議與投票)都是對自己最有利的(即能夠在保命的前提下得最多的錢)。 請問,如果你是最先分金币的A,怎麼樣分才能即保住自己的性命,又得到最多的金币? 個人分析:

  1、如果前面三個強盜全部被殺隻剩D和E時,則無論D提出何種方案,E都會反對,因為隻要殺了D,那麼100個金币無疑将被E獨吞。此時D贊成自己的方案,E反對,則贊成數=反對數,D被殺。是以,D必須保住C的命,才能保住自己的命。

  2、正因為D必須保住C的命,是以C無論提什麼方案,D都會支援自己,這樣贊成數已經大于反對數,此時對C來說,他提出的方案肯定是C:100,D:0,E:0。

  3、對于B來說,無論提什麼方案,他都不可能得到C的支援,因為他提出的方案不可能使C的收益大于B被殺後C提出的方案中C的收益(即100個金币)。是以他必須得到D和E的支援(贊成數必須要大于反對數),而隻需使D和E獲得比C方案多1個金币的收益,D和E就會支援B,這樣B自己的收益就會最大。是以,B的方案是B:98,C:0,D:1,E:1。

  4、對于A來說,他需要赢得其餘4個人中2個人的支援。如果要赢得B的支援,他的代價将是巨大的,因為隻有給B多于98個金币,B才會贊成,A自己此時是沒有收益的,而相比而言,赢得C、D、E的支援則成本小得多,這其中,又以赢得C的支援成本最小,隻需分給C1個金币,C就會支援A。剩下的D和E,A隻需再赢得一個人的支援即可,為了确定能保住自己的命,A給予D或E要比B的方案多一個,否則D和E未必支援A,是以A會分給D或E其中一個人2個金币。是以,A的方案是A:97,B:0,C:1,D:2,E:0或者A:97,B:0,C:1,D:0,E:2,這也是此題最終的答案。