智力题常见问题合集

面筋分类汇总-测开向

目录

数字拼凑问题

  • 题目:两个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

相关文章
相关标签/搜索