天天看點

面試常問智力題

目錄

  • ​​1. 賽馬次數​​
  • ​​2. 用繩子計時 15 分鐘​​
  • ​​3. 九球稱重​​
  • ​​4. 藥丸稱重​​
  • ​​5. 得到 4 升的水​​
  • ​​6. 扔雞蛋​​
  • ​​7. 砝碼秤鹽​​
  • ​​8. 拿到最後一本書(騰訊)​​
  • ​​9. 裁繩子 2 刀形成三角形的機率​​
  • ​​10. 抛硬币,先抛到正面獲勝​​
  • ​​11. 1-100的燈最後關的燈的編号​​
  • ​​12. n個人中至少有兩個人生日相同的機率​​
  • ​​13. 怎樣估算上海市理發師的數量?​​
  • ​​14. 一個孩子是女孩的情況下,另一個孩子也是女孩的機率​​
  • ​​參考:​​

1. 賽馬次數

有 25 匹馬和 5 條賽道,賽馬過程無法進行計時,隻能知道相對快慢。問最少需要幾場賽馬可以知道前 3 名。
  1. 先把 25 匹馬分成 5 組,進行 5 場賽馬,得到每組的排名。
  2. 再将每組的第 1 名選出,進行 1 場賽馬,按照這場的排名将 5 組先後标為 A、B、C、D、E。
  3. 可以知道,A 組的第 1 名就是所有 25 匹馬的第 1 名。而第 2、3 名隻可能在 A 組的 2、3 名,B 組的第 1、2 名,和 C 組的第 1 名,總共 5 匹馬,讓這 5 匹馬再進行 1 場賽馬,前兩名就是第 2、3 名。
  4. 是以總共是5+1+1=7場賽馬。

A 組:1,2,3,4,5

B 組:1,2,3,4,5

C 組:1,2,3,4,5

D 組:1,2,3,4,5

E 組:1,2,3,4,5

2. 用繩子計時 15 分鐘

給定兩條繩子,每條繩子燒完正好一個小時,并且繩子是不均勻的。問要怎麼準确測量 15 分鐘。
  1. 點燃第一條繩子 R1 兩頭的同時,點燃第二條繩子 R2 的一頭;
  2. 當 R1 燒完,正好過去 30 分鐘,而 R2 還可以再燒 30 分鐘;
  3. 點燃 R2 的另一頭,15 分鐘後,R2 将全部燒完。

3. 九球稱重

有 9 個球,其中 8 個球品質相同,有 1 個球比較重。要求用 2 次天平,找出比較重的那個球。
  1. 将這些球均分成 3 個一組,共 3 組,選出 2 組稱重,
  2. 如果 1 組比較重,那麼重球在比較重的那 1 組;如果 1 組重量相等,那麼重球在另外 1 組。
  3. 對比較重的那 1 組的 3 個球再分成 3 組,重複上面的步驟。

4. 藥丸稱重

有 20 瓶藥丸,其中 19 瓶藥丸品質相同為 1 克,剩下一瓶藥丸品質為 1.1 克。瓶子中有無數個藥丸。要求用一次天平找出藥丸品質 1.1 克的藥瓶。

可以從藥丸的數量上來制造差異:從第 i 瓶藥丸中取出 i 個藥丸,然後一起稱重。可以知道,如果第 i 瓶藥丸重 1.1 克/粒,那麼稱重結果就會比正常情況下重 0.1 * i 克。

5. 得到 4 升的水

有兩個杯子,容量分别為 5 升和 3 升,水的供應不斷。問怎麼用這兩個杯子得到 4 升的水。

可以了解為用若幹個 5 和 3 做減法得到 4。

  • 不能從 3 做減法得到 4,那麼隻能從 5 做減法得到 4,即最後一個運算應該為 5 - 1 = 4,此時問題轉換為得到 1 升的水;
  • 1 升的水可以由 3 做減法得到,3 - 2 = 1,此時問題轉換為得到 2 升的水;
  • 5 - 3 = 2。

是以:

  1. 将3升的裝滿倒入5升的;
  2. 再一次将3升的轉滿,倒入5升的,把5升裝滿;
  3. 3 升杯裡剩下的就是1升水;
  4. 倒掉5升的,把1升水倒入5升杯;
  5. 第三次加滿3升杯,倒入5升杯,得到4升水。

6. 扔雞蛋

一棟樓有 100 層,在第 N 層或者更高扔雞蛋會破,而第 N 層往下則不會。給 2 個雞蛋,求 N,要求最差的情況下扔雞蛋的次數最少。
  • 可以将樓層劃分成多個區間,第一個雞蛋 E1 用來确定 N 屬于哪個區間,第二個雞蛋 E2 按順序周遊該區間找到 N。那麼問題就轉換為怎麼劃分區間滿足最壞情況下扔雞蛋次數最少。
  • E1 需要從第一個區間開始周遊到最後一個區間。如果按等大小的方式劃分區間,即 E2 的周遊次數固定。那麼最壞的情況是 N 在最後一個區間,此時 E1 周遊的次數最多。為了使最壞情況下 E1 和 E2 總共周遊的次數比較少,那麼後面的區間大小要比前面的區間更小。
  • 具體來說,E1 每多周遊一次,E2 要少周遊一次,才使得 N 無論在哪個區間,總共周遊的次數一樣。設第一個區間大小為 X,那麼第二個區間的大小為 X-1,以此類推。那麼 X + (X-1) + (X-2) + … + 1 = 100,得到 X (X + 1) / 2 = 100 ,即X = 14。

7. 砝碼秤鹽

140g 鹽,一天平,7g 、2g 砝碼各一個,如何隻利用這些東西 3 次把鹽分成 50g 和 90g ?
  • 第一次: 7g、2g砝碼稱出 9g 鹽,結果鹽分成 9g 與 131g
  • 第二次:将 9g 鹽與 7g、2g 都作為砝碼,結果将鹽分為 18g 與 113g (注意:這時鹽已經分為三份:9g、18g、113g,還有兩個砝碼)
  • 第三次:将 18g 鹽與 7g 砝碼發在左托盤,将2g砝碼放在右托盤,然後在 113g 鹽中取鹽添置右托盤中,可擷取 23g 鹽。

    這時鹽分為9g,18g,23g與90g。

即三次,可以得到90g與(9+18+23)50g。

8. 拿到最後一本書(騰訊)

100本書,兩個人輪流拿,每次拿1~5本,你先拿,有沒有啥政策可以保證你可以拿到最後一本?
  1. 要想拿到最後的書,則最後要剩下6本,則前面要拿94本書,這樣無論對方怎麼拿,我都能拿到最後的書
  2. 對方每次拿1-5 之前的N本書,是以我可以每次拿6-N本,保證我倆每次拿的書之和相加 = 6
  3. 94/6 取餘 = 4,是以要先拿

9. 裁繩子 2 刀形成三角形的機率

一段繩子,裁兩刀,變成3段,可以拼成一個三角形的機率有多大

設線段長度為a,任意分成三段長分别為x,y和 a-x-y ,顯然有 x>0,y>0,a-x-y>0,将這三個限制條件畫到(x,y)二維平面坐标系上,這三條直線圍成了一個直角三角形即為可行域(圖1),其面積為 。

而這三段長能構成三角形的條件是:任意兩邊之和大于第三邊,也就是下面三個不等式得同時成立:

我們把上面三個不等式也畫在平面直角坐标系中,可以看到可行域為圖 2 中綠色的小三角形,其面積為:

故此三段能構成三角形的機率為 1/4。

面試常問智力題

10. 抛硬币,先抛到正面獲勝

兩個人玩抛硬币的遊戲,誰先抛到正面就獲勝。那麼先抛的人獲勝機率為

第一次:正

第三次:反反正

第五次:反反反反正

…第N次:反反。。。。正

當公比不為1時,等比數列的求和公式為:

對于一個無窮遞降數列,數列的公比小于1,當上式得n趨向于正無窮大時,分子括号中的值趨近于1,取極限即得無窮遞減數列求和公式

是以:

11. 1-100的燈最後關的燈的編号

對一批編号為1-100,全部開關開着的燈進行以下操作:凡是1的倍數反方向撥一次開關;2的倍數 方向又撥一次開關;3的倍數反方向又撥一次開關……問:最後為關狀态的燈的編号是哪些
def setSwitch(temp, i):
    if (temp[i] == 0):
        temp[i] = 1
    elif (temp[i] == 1):
        temp[i] = 0

def light_list():
    light = [0] * 100
    for i in range(100):
        for n in range(1, 101):
            if ((i + 1) % n == 0):
                setSwitch(light, i)

    sum = 0
    print("亮着的燈:")
    for i in range(100):
        if (light[i] == 1):
            sum += 1
            print(i, end=" ")
    print("")
    print("亮着的燈總共:", sum)

if __name__ == '__main__':
    light_list()      

輸出:

亮着的燈:
0 3 8 15 24 35 48 63 80 99 
亮着的燈總共: 10      

那麼關着的燈就容易得到了

12. n個人中至少有兩個人生日相同的機率

把問題轉換成 “計算完全沒有相同生日的機率A(n)”,再用 減去這個機率即可求出至少兩個人生日相同的機率 。

分析:

第1個人的生日是随意的,有365種可能,機率是365/365=1;

第2個人的生日不能與第1個人相同,隻有365-1=364種可能,機率是364/365;

第3個人的生日不能與前面2人相同,隻有365-2=363種可能,機率是363/365;……;

……

第n個人的生日不能與前面n-1人相同,隻有365-(n-1)=365-n+1種可能,機率是(365-n+1)/365.

完全沒有相同生日的機率:

是以至少兩人生日相同的機率: P(n)=1-A(n)

如果用n表示人數,p(n)表示n人中至少2人生日相同的機率,計算得到:

p(5)=0.03

p(10)=0.12

p(15)=0.25  

p(20)=0.41

p(25)=0.57

p(30)=0.71

p(35)=0.81  

p(40)=0.89

p(45)=0.94

p(50)=0.97

p(55)=0.99

可以看出,當人數超過55人時,至少2人生日相同的機率就會超過99%。是以,如果一個班的學生超過55人,幾乎可以肯定地說,一定有2人的生日相同。

13. 怎樣估算上海市理發師的數量?

參考:

​​​【面試官手記】數量估算類面試題應該如何應對?​​

14. 一個孩子是女孩的情況下,另一個孩子也是女孩的機率

其實題目應該是,在至少一個為女孩的情況下,兩個都為女孩的機率是多少。這樣描述比較容易想清楚

答案: 1 / 3

夫妻有兩個小孩,則樣本空間為 女女,男女,女男,男男,則

參考:

  1. ​​面試常問智力題​​
  2. ​​(牛客熱帖) 機率論面經彙總(持續更新) ​​

繼續閱讀