面试智力题合集

1.用一个六升和五升的容器怎么得到三升的水
答:先用5升的容器灌满水,倒入6升容器里,再用5升容器灌满水,用这个水把6升容器灌满,5升容器里只有4升水,把6生容器里的水倒掉,把5升容器里的水倒入6升容器,这样6升容器里有4升水。把5升容器灌满水,用这个水再把6升容器灌满,5升容器里就只有3升水了。

2.已知一圈蚊香能烧1个小时,用2圈蚊香如何判断烧了15分钟?
第一圈蚊香两头同时点燃,第二圈蚊香也同时点燃一头
第一圈蚊香烧完后,马上点燃第二圈蚊香的另一头,同时计时。
当第二圈蚊香烧完时,就是15分钟。

3.1000瓶药里面只有1瓶是有毒的,问需要多少只老鼠才能试出那瓶有毒
结论: 至少需要10只老鼠,因为2^10=1024>1000。
解法1: 将1000瓶药用10位二进制进行编码,编码从0000000000到1111101000。然后将老鼠编号,从0到9,老鼠0去喝第0位上为1的药,老鼠1去喝第1位上为1的药,以此类推。
结果: 若第0只老鼠死了,则说明毒药的编号第0位上为1,若没死,则说明毒药的编号第0位上为0,以此类推,这要就能得到一个10位二进制串,就能找到对应的毒药编号了。

解法2: 串行的二分法:
1-500的药混合,喂给一只老鼠,若老鼠死,则将1-250混合,喂给另一只老鼠,若又死,将1-125混合…直到最后只剩一只老鼠。

解法3: 并行二分法
解法2有个缺点就是时间比较慢,因为后面的实验需要根据前一次的实验结果进行操作,所以可以采用解法1的思想并行操作。
具体如下:

第一只: 喝 1-500

第二只 喝1-250 与 500-725

第三只 1-125 250-375 500-625 725-850

第四只:
1-62,125-187,250-312,375-437,500-562,625-687,725-787,850-912

4.100层楼扔鸡蛋,最快速度找出,哪层是鸡蛋碎的临界点
解法1:二分法
采用类似于二分查找的方法,把鸡蛋从一半楼层(50层)往下扔。

如果第一枚鸡蛋,在50层碎了,第二枚鸡蛋,就从第1层开始扔,一层一层增长,一直扔到第49层。

如果第一枚鸡蛋在50层没碎了,则继续使用二分法,在剩余楼层的一半(75层)往下扔…

这个方法在最坏情况下,需要尝试50次。

解法2:平方根法
如何让第一枚鸡蛋和第二枚鸡蛋的尝试次数,尽可能均衡呢?

很简单,做一个平方根运算,100的平方根是10。

因此,我们尝试每10层扔一次,第一次从10层扔,第二次从20层扔,第三次从30层…一直扔到100层。

这样的最好情况是在第10层碎掉,尝试次数为 1 + 9 = 10次。

最坏的情况是在第100层碎掉,尝试次数为 10 + 9 = 19次。

解法3:解方程法
设最坏需要扔x次,并在第x层扔下,x*(x+1)/2=100层楼,x为最优解。
详情见博客:100层楼扔鸡蛋,最快速度找出,哪层是鸡蛋碎的临界点

5. 25匹马,5条跑道,求最少跑多少次能比出前三名。
7次,
①先25匹马挨个比一次,消耗五次,
②然后第一名比一下,那么第一名比赛中,第四第五的组没必要参加后序了,第三名组只有第三名有资格参与,第二名组只有第二名和第一名有资格,第一名组有第一名第二名第三名有资格,共计有资格6个,
③而第一名比赛中的第一又一定是第一,那么剩下的5个比出第二三名就可以了,总计7次。

6.被污染的药丸
你有4个装药丸的罐子,每个罐子里有若干药丸,每个药丸都有一定的质量,其中有一个罐子里的药丸都被污染,已知被污染的药丸是没被污染的药丸的质量+1,以及知道药丸的标准质量,只称量一次,如何判断哪个罐子的药被污染了?
解答
4个罐子中分别取1,2,3,4颗药丸,称出比标准质量重多少,即可判断出哪个罐子的药丸被污染。

7.有两堆苹果,一堆6个,另一堆7个,取法只有两种:在其中一堆取1个,两堆各取1个,拿到最后一个苹果的人失败,你先拿,如何获胜。
解答:
先从第一堆中取1个,使其为奇数,然后重复对方的操作(对方取一对你也取一对,对方取某一堆上的一个,你也取某一堆上的一个)。

8.有7克、2克砝码各一个,天平一只,如何三次将140克的盐分成50、90克各一份?
解答:
第一步,将140g分成两份,每份70g

第二步,将其中的一个70g,平均分成两个35g

第三部,将砝码,分别放在天平的两边,将35g的,放在天平两边至平衡,那么每边为22g,砝码为2g的一边,盐20g,将其与第一步剩下的一个70g混合,就是90g,剩下的就是50g了。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值