智力題常見問題合集

麪筋分類彙總-測開向

目錄

數字拼湊問題

  • 題目:兩個4,兩個10,利用加減乘除怎麼最後獲得24

    • 正規方法:(10×10-4)÷4=24
    • 投機取巧:44-10-10=24

上山下山問題

  • 題目:

    • 上山(早8晚8)下山(早8晚8),問會不會兩天的同一時間出如今同一地點
  • 分析:

    • 解答:解:存在一個地點,此人在上山過程當中到達該點的時刻與下山過程當中到達該地點的時刻相同.
    • 能夠從函數圖象的角度理解.好比令橫軸爲時間(早晨8點到傍晚7點),令豎軸爲從山下到山上的路程.這樣咱們就能夠在平面直角座標系上框出一個長方形範圍.則第一天他的圖象能夠理解爲從左下角(從起點上山)不規則地向右上角(山頂)延伸(即隨時間推移他從山下往山上走).而次日他的行程能夠理解爲從左上角(從山頂下山)不規則地向右下角延伸.這樣的話這兩天的圖象必然會有相交的地方,那麼交點的意義就是他在這兩天的這個同一時刻在路程中的同一個地方,據此便可解答.

稱重找不一樣問題

  • 題目:

    • 10個堆,每堆10個蘋果,其中9個堆裏蘋果是50g/個,一個堆裏蘋果是40g/個,有一杆秤只能稱一次,所稱重量爲x,求40g蘋果所在堆。
  • 分析:

    • 將堆編碼爲1-10;而後每堆拿出k個,最後少了k*10克,則知道是第幾堆的蘋果。
  • 題目:

    • 八個球,其中有一個是其他球重量的1.5倍,有什麼方案找出來
  • 分析:

    • 分爲3+3+2 三組
    • 先稱3和3的兩組,找出多的一邊繼續分爲三組,用相同方法稱;
    • 若是3和3的兩組相等,則目標在剩餘兩個球中,將這兩個球稱一下就能夠找出目標了。
    • 最慢3次,最快1次(即任取兩個球,稱,看運氣)

水桶分水問題

  • 題目:

    • 5L和6L水桶,獲得三升水。
  • 分析:

    • 一、6L的水桶裝滿水,倒滿5L的桶。 二、將5L桶裏的水倒了,將6L桶裏剩餘的1L放入5L桶。 三、6L的桶裝滿水,倒滿5L桶裏,6L桶裏還剩2L(6-4)水。 四、 將5L桶裏的水倒了,將6L桶裏剩餘的2L水放入5L桶裏。 五、將6L桶裝滿水,倒滿5L的桶,這時6L的桶裏還剩3L水。
  • 題目:

    • 4分鐘沙漏和7分鐘沙漏怎麼漏出9分鐘
  • 分析:

    • 4分鐘的和7分鐘的同時開始,4分鐘的完後又倒過來開始。7分鐘的沙漏完後立馬倒過來,(4分鐘的沙漏還剩1分鐘)。等4分鐘的沙漏完後,將7分鐘的又立馬倒過來,等漏完就是9分鐘。
    • 注:4分鐘兩次,一共8分鐘;差值創造的1分鐘最後漏回7分鐘沙漏裏,一共9分鐘。

兩頭點燃計時問題

  • 題目:

    • 兩個一小時蚊香怎麼獲得15分鐘的記時
  • 分析:

    • 同時點燃AB兩隻蚊香,其中A蚊香點燃兩頭,等A蚊香燒完後(30分鐘),點燃B蚊香的另外一頭。

順序拿最後取勝問題

  • 題目:

    • 桌上100個球,每次能夠拿一到五個, 如今咱們兩我的依次拿球,你先拿,使用怎樣的拿球策略,可使你最終能拿到最後一個球?
  • 分析:

    • 兩人一組,可控一次拿6個球,100整除6,取餘4,所以能夠先拿4個球,剩餘的數量是6的整數倍。
    • 第一次拿四個,後來每一個你拿球的時候只要保證剩下的球是6的倍數就好了若是他拿n個球 ,你就拿6-n個球。
  • 題目:

    • 有10個石頭,每人每次能夠拿1-2個,輪流拿,最後一個拿的人算輸,有什麼必贏的方案。
  • 分析:

    • 兩人一組,可控一次拿3個石頭。10整除3,取餘1,所以去掉餘數1個,剩餘數量是3的整數倍。
    • 對方先拿、保證兩我的每一輪迴拿滿3個(對方拿一個,我拿兩個、對方拿兩個,我拿一個)。
    • 注:本題是上一個題的逆向,即先保證拿完整數倍,剩餘1個(餘數是別的就不行了),對面只能拿,所以會輸。

大數據量取最值問題

  • 題目:

    • 一億數據獲取前100個最大值
  • 分析:

    • 小根堆的思想:
      • 注:相比紅黑樹,小根堆更快。
    • 把一億個數字的前100個 首先放入數組,而後把最小值放在ary[0]。
    • 而後再循環100到一億之間的。每次循環判斷當前數字是否大於ary[0],當大於時,當前數字放入ary[0],並再次重構數組最小值進入ary[0]以此類推 。
    • 當循環完這一億個數字後,最大的前100個數字就出來了。

飛機加油問題

  • 題目

    • 每一個飛機只有一個油箱,飛機之間能夠相互加油,注意是相互,沒有加油機,一箱油可供一架飛機繞地球飛半圈。
    • 問題:
      • 爲使至少一架飛機繞地球一圈回到起飛時的飛機場,至少須要出動幾架飛機?
      • A:全部飛機從同一機場起飛,並且必須安全返回機場,不容許中途降落,中間沒有飛機場
      • B:全部飛機從同一機場,同一方向起飛,並且必須安全返回機場,不容許中途降落,中間沒有飛機場
  • 分析:

    • 至少須要三架飛機。(兩架飛機是顯然不可能的,這個都不用說什麼)。前提假設固然是:加油、掉頭、降落和起飛的時間分別是0。
    • 一架飛機=半圈,一直向前;加油機交替折返,相互加油;目標機飛過半圈以後,加油機從相反的方向去接。
      1. 三架飛機同時從機場O起飛,方向爲順時針,此時三架飛機的油量分別是:A: 1, B: 1, C: 1。
      1. 當A飛行至半圈的1/4位置時,此時飛機的油量分別是:A: 3/4, B: 3/4, C: 3/4。此時C分別給A和B加滿油,三架飛機當前油量分別是:A: 1, B: 1, C: 1/4。C返回機場。A、B繼續向前飛行
      1. 當A飛行至半圈的1/2位置時,此時C已經返回機場,三家飛機此時油量分別是:A: 3/4, B: 3/4, C: 0。此時B給A加滿油,C加滿油,此時三架飛機的油量分別是:A: 1, B: 1/2, C: 1。而後B返回機場,A繼續向前飛行。
      1. 當A飛行至半圈位置時,B已經返回機場而且加滿了油(假設加油時間爲0),此時,B和C沿逆時針方向飛行,三架飛機當前油量分別是:A: 1/2, B: 1, C: 1。A繼續向前飛行。
      1. 當A飛行至另外半圈的1/4位置時,三架飛機剩餘油量分別是:A: 1/4, B: 3/4, C: 3/4。此時,C給B加滿油。此時三架飛機油量分別是:A: 1/4, B: 1, C: 1/2。C返回機場,B和A繼續向前飛行。
      1. 當A飛行至另外半圈的1/2位置時,C已經返回機場,A和B相遇,此時三架飛機剩餘油量分別是:A: 0, B: 3/4, C: 0。B給A加1/4的油,三架飛機剩餘油量:A: 1/4, B: 1/2, C: 1。C加滿油從機場逆時針飛出,B返回機場,A繼續向前飛行。
      1. 當A飛行至另外半圈的3/4位置時,A和C相遇。此時三架飛機的油量分別是:A: 0, B: 1/4, C: 3/4。C給A加1/4的油,此時三架飛機的油量分別是:A: 1/4, B: 1/4, C: 1/2。C掉頭返回機場,A和B繼續向前飛行。
      1. 三架飛機順利回到機場!

兩顆雞蛋測臨界樓層的問題

  • 題目

    • 有一棟樓共100層,一個雞蛋從第N層及以上的樓層落下來會摔破, 在第N層如下的樓層落下不會摔破。給你2個雞蛋,設計方案找出N,而且保證在最壞狀況下, 最小化雞蛋下落的次數。
  • 分析

    • 暴力法;二分;均分;非均分;
    • x + (x-1) + (x-2) + ... + 1 >= 100
    • x=14
    • 即我先用第1個雞蛋在如下序列表示的樓層數不斷地向上測試,直到它摔破。 再用第2個雞蛋從上一個沒摔破的序列數的下一層開始,向上測試, 便可保證在最壞狀況下也只須要測試14次,就能用2個雞蛋找出從哪一層開始, 往下扔雞蛋,雞蛋就會摔破。
    • 14, 27, 39, 50, 60, 69, 77, 84, 90, 95, 99, 100
    • 代碼:dp類

循環賽根據比賽局數推導第二場輸家的問題

  • 問題

    • 甲乙丙三人,兩兩比賽,一人等待,獲勝的人和等待的人進行比賽,輸了的人下一局等待;
    • 最終甲17場,乙15場,丙10場。
    • 問第二局誰贏了?
  • 分析

    • 設ABC三人,A=17, B=15, C=10
    • A=17, 所以AB+AC=17;
    • B=15, 所以AB+BC=15;
    • C=10, 所以AC+BC=10;
    • 求和得(AB+BC+AC)=21,代入上面三個式子,可得AB, BC, AC三個值
    • A=17, 所以A不在的場次由剩餘的B和C兩人比賽,即BC=4;
    • 同理,B=15, 所以AC=6; C=10, 所以AB=11
    • 綜上,AB=11, 而AC+BC=10,又由於比賽規則,相同的比賽人員不能相鄰,所以要在11個AB中插空插入剩餘的10場比賽;
    • 所以,第一場和第三場都是AB,而第二場多是AC,也多是BC,沒法肯定;
    • 所以,第二場由C上場,與第一場的贏家比賽,而後輸了比賽,第三場又由第二場的贏家與剩餘的人比賽,即AB。
    • 答:第二局最終場最少的人輸了比賽,剩餘兩人中的某一人贏了比賽。

小老鼠喝毒藥/快速核酸檢測問題

  • 小老鼠喝毒藥問題:

    • 有 1000 個如出一轍的瓶子,其中有 999 瓶是普通的水,有一瓶是毒藥。任何喝下毒藥的生物都會在一星期以後死亡。如今,你只有 10 只小白鼠和一星期的時間,如何檢驗出哪一個瓶子裏有毒藥?
    • 若是你有兩個星期的時間(換句話說你能夠作兩輪實驗),爲了從 1000 個瓶子中找出毒藥,你最少須要幾隻老鼠?注意,在第一輪實驗中死掉的老鼠,就沒法繼續參與第二次實驗了。
  • 分析:

    • 此類問題,用二進制模擬十進制數,而後一次找出結果。
    • 也能夠用二分,但二分和二進制模擬十進制本質是同樣的,好比100之內猜數字,最多7次。
    • 二進制模擬更快,一步到位。
  • 一次檢測出的分析:

    • 把瓶子從 0 到 999 依次編號,而後所有轉換爲 10 位二進制數。讓第一隻老鼠喝掉全部二進制數右起第一位是 1 的瓶子,讓第二隻老鼠喝掉全部二進制數右起第二位是 1 的瓶子,等等。一星期後,若是第一隻老鼠死了,就知道毒藥瓶子的二進制編號中,右起第一位是 1 ;若是第二隻老鼠沒死,就知道毒藥瓶子的二進制編號中,右起第二位是 0 ……每隻老鼠的死活都能肯定出 10 位二進制數的其中一位,由此即可知道毒藥瓶子的編號了。html

    • 一共有1000瓶,2的10次方是1024,恰好大於1000,也就是說,1000瓶藥品可使用10位二進制數就能夠表示。從第一個開始:數組

第一瓶 :       00 0000 0001

 第二瓶:        00 0000 0010

 第三瓶:        00 0000 0011

……

第999瓶:       11 1111 0010

第1000瓶:     11 1111 0011
  • 須要十隻老鼠,若是按順序編號,ABCDEFGHIJ分別表明從低位到高位每個位。 每隻老鼠對應一個二進制位,若是該位上的數字爲1,則給老鼠喝瓶裏的藥。安全

  • 觀察,若死亡的老鼠編號爲:ACFGJ,一共死去五隻老鼠,則對應的編號爲 10 0110 0101,則有毒的藥品爲該編號的藥品,轉爲十進制數爲:613號。函數

  • 時間變爲兩週時,須要幾隻老鼠的分析:

    • 7 只老鼠就足夠了。事實上,7 只老鼠足以從 3^7 = 2187 個瓶子中找出毒藥來。
    • 首先,把全部瓶子從 0 到 2186 編號,而後所有轉換爲 7 位三進制數。如今,讓第一隻老鼠喝掉全部三進制數右起第一位是 2 的瓶子,讓第二隻老鼠喝掉全部三進制數右起第二位是 2 的瓶子,等等。一星期以後,若是第一隻老鼠死了,就知道毒藥瓶子的三進制編號中,右起第一位是 2 ;若是第二隻老鼠沒死,就知道毒藥瓶子的三進制編號中,右起第二位不是 2,只多是 0 或者 1 ……也就是說,每隻死掉的老鼠都用本身的生命肯定出了,三進制編號中本身負責的那一位是 2 ;但每隻活着的老鼠都只能肯定,它所負責的那一位不是 2 。因而,問題就歸約到了只剩一個星期時的狀況。在第二輪實驗裏,讓每隻活着的老鼠繼續本身未完成的任務,喝掉它負責的那一位是 1 的全部瓶子。再過一星期,毒藥瓶子的三進制編號便能所有揭曉了。
  • 小結

    • 相似地,咱們能夠證實, n 只小白鼠 t 周的時間能夠從 (t+1)^n 個瓶子中檢驗出毒藥來。
  • 現實場景1:

    • 若是一架飛機上面有100我的,下飛機後須要對每一個人進行核酸和體溫檢測,有什麼好的辦法緩解這種機場的滯留呢?(我說的前置檢測過程,利用乘客的自助能力,他說再打開腦洞)
  • 分析:

    • 從宏觀講,能夠加派工做人員和檢測資源,同時對機場周邊的賓館、體育館等場地進行徵用調度,設置爲隔離區,將待檢測人員疏散到指定隔離區。
    • 體溫檢測能夠在安檢口加設一個體溫檢測的環節。
    • 從快速得出核酸檢測結果的角度講,可使用二分,取所有人員的樣本進行一次檢測,若是非陽性,能夠認爲沒有陽性;若是有,能夠將人羣等分後進行檢測,若是非陽性,能夠排除一半,而後對剩餘顯示陽性的人羣再次等分,分別進行覈算檢測,以此類推。在等分的過程當中,能夠加入一些人爲干預分組,好比,按照有無感冒或肺炎症狀進行分組,在陽性不惟一的狀況下,能夠更快排除非陽性人羣。
    • 若是要以最短期測出,能夠用二進制模擬十進制,100能夠用7位模擬。
  • 現實場景2:

    • 飛機上下來100個旅客,最多可能一我的檢測成陽性,你以爲最少用多少個試劑盒能夠把這個多是陽性的人找出來?(用二分查找)
  • 分析:

    • 二分或者二進制模擬十進制
    • 2^7=128,所以最少用7個試劑盒能夠找出這一個陽性的人。
    • 7個試劑盒對應7位二進制位,每一個試劑盒檢測某一位爲1的全部人,好比第一個試劑盒檢測第一位爲1的全部人,第二個試劑盒檢測第二位爲1的全部人,依次類推。
    • 看7只老鼠哪些死了,死了的說明必定是喝了毒藥的,也就是毒藥瓶子的編號在相應死了的老鼠對應的位上必定是1,否則死了的老鼠是喝不上毒藥的
    • 好比1,3,7只試劑盒陽性,則陽性的人的編號爲:2^0+ 2^2 + 2^6=69
  • 現實場景3:

    • 飛機上下來100個旅客,有10我的是陽性,如何把這10我的找出來?
  • 分析:

    • 10我的的話,超過7位,可能出現極端狀況,即陽性的10我的正好致使全部試劑盒均爲陽性的狀況,就沒法肯定究竟是哪些人,所以二進制模擬不可行。
    • 能夠用二分,同時,每次分組的過程當中,按照症狀、接觸史等進行分組,這樣能夠更快將非陽性的人排除。若是分組後均陽性,能夠在每組中再次分組。

END

相關文章
相關標籤/搜索