[转转转]面试常见逻辑推理题目及答案整理

程序员面试喜欢考察应聘者的逻辑思考能力,但是存在一个弊端就是由于题目有限有些应聘者之前接触过被考察的题目就可以很流畅的回答出来,而没接触过的应聘者即使有相同的逻辑推理能力也很难流畅的表达出来。这样显得这个环节不太公平,但是我们只能通过增强自身的经验来克服这种情况。下面是我收集整理的一些逻辑推理类型的题目:

经典面试智力题200+题和解答中有更多类似的逻辑推理题目,感兴趣的同学可以看一下,我这里只列举常见的逻辑题目。

题目列表

1. 1000个瓶子里有一瓶毒药,老鼠喝了毒药之后一天后死亡, 一次可以喝多瓶毒药,问检测出毒药最少需要多少只老鼠?

这个题是对bit位的应用,1000接近1024,所以需要10个bit位,对瓶子进行编号,从0到999,这样需要10只老鼠。

老鼠用 a ,b ,c ,d ,e ,f ,g ,h ,i , j ,表示

瓶子的编号分别为:

第0号瓶:00000,00000

第1号瓶:00000,00001 a

第2号瓶:00000,00010, b

第3号瓶:00000,00011 a b

第4号瓶:00000,00101 a c

第5号瓶:00000,00111 a b c

。。。。。。

第999号瓶:11111,00111 a b c - - f g h i j

同时给老鼠编号,从1,2,…10,从低位开始,让第n个老鼠喝下第n个bit位为1瓶子中的药水。24小时后,若所有的老鼠都没有发病,那么是第一个瓶子有毒,如果有一些老鼠发病,那么这些发病老鼠对应的位数置为1得到的数字最低位+1变成整数后,对应的数字即为有毒药水的编号。

比如:第四瓶有毒,全部生病的小鼠得到的(编号第三号)00000011 +1 =00000100 = 4 。第四瓶有毒(没有第0瓶,所以加1)

所以只要10只老鼠就能在 24小时后 排查出到底那瓶有毒。

2. 两个人抛硬币来决定谁吃这个苹果,先抛到正面者吃。问先抛者吃到苹果的概率是多少?

假设第一个人抛中概率为P,第一次第一个人未中为1/2 ,而此人第二次的时候抛说明第二个人仍然未中,此人后续抛中概率为(1/2) * (1/2) * P.

而此人此处抛中为 P = 1/2 + 1/4 P ===> P = 2/3

这里对于P有一个误解,就是为什么不继续考虑第三次第四次的情况,要说明一下P并不是一个常量,而是一个变量或者表达式,所以只在右侧出现一次就代表了递归求解其他的所有情况。

3. 已知23个硬币,10枚正面朝上,13枚反面朝上。你被蒙住眼睛,而你的手又摸不出硬币的正反。需要将硬币分成两堆,可以对硬币进行翻面,使两堆中的正面朝上的硬币数量相同。

分成10:13的堆。假设左边的堆中正面数量为n(n<=10),则反面数量为10-n。右边的堆中正面数量为(10-n)。将左边全部进行翻转,则左边堆中的正面数量为(10-n)。

4. 一个函数随机生成0-4的数字,如何通过这个函数得到0-7的随机数(概率相等)

0-4的随机数字生成器rand4可以随机生成等概率的五个数字,要想使用五个数字表示更大范围的数字可以用5进制来表示:

我们可以设计一个5进制的2位数,高位和低位均由rand4表示,这样得到的随机数在十进制的0-24等概率分布。而要想得到0-7的随机数则需要8个数字,因此需要对rand24取整后等分,可表示为rand7=(rand4*5+rand4)<=23?rand24/3:loop,即将rand24取前24个数等分为8份作为rand7的取值依据。

5. 有五个山洞,一字排开,一只狐狸住在某个洞,每天晚上会换住到相邻的洞中,一个猎人只能每天早上去一个洞抓狐狸,问猎人需要几天,每天进哪个洞?

尽量将狐狸向一个方向赶

所以可以采用234234的方案。

6. 砝码称重问题

Q1:有十组砝码,每组十个,其中九组每个砝码的重量为10g,另外一组每个砝码的重量为9g,问用一个能显示克数的秤,最少几次能找到这组9g的砝码?

A1:1次。

将砝码分为1~10组,从第1组拿一个砝码,第2组拿两个砝码,以此类推,第10组拿十个砝码,放到秤上称出克数y,则x=550g-y,x组即为砝码重量为9g的一组。

Q2:有一个天平,9个砝码,其中有1个比其他8个轻,问至少称几次能找到轻的那个砝码?

A2:至少2次。

将砝码分为3组,每组3个,拿其中两组到天平上称(第1次),如果一样重,则轻的为剩下那组,不一样重,则也能分辨出哪一组轻;
取轻的那一组的3个砝码,从中选出两个到天平上称(第2次),若一样重,则剩余的1个为轻,不一样重,则轻的也能轻易找到。

7. 罐子和水

Q1:现在有不限量的水,你有两个容量为5L和3L的罐子,请准确称出4L水。

A1:先把5L的罐子装满,然后将5L罐子里的水倒入3L罐内,直至倒满,此时5L罐子中剩2L水;将3L罐子内的水倒出,将5L罐内的2L水倒入3L罐内,此时3L罐内有2L水;将5L罐子中倒满水,后将5L罐子里的水倒入3L罐中,直至倒满,此时3L罐内2+1L水,已满,5L罐内便剩下(5-1)=4L水。

Q2:不好意思,还是有取之不尽用之不竭的水,给你两个容量分别为5L和6L的水壶,请准确称出3L水。

A2:将6L的壶装满水,往5L壶倒水至满,此时6L壶剩1L水;倒掉5L壶里的水,将6L壶中剩下的1L水倒入5L壶中;再将6L壶装满,往5L壶中倒水至满(1+4)L,此时6L壶中还剩2L水,倒掉5L壶中的水,将6L壶中的2L水倒入5L壶中;最后将6L水壶装满,往5L壶中倒水至满(2+3)L,此时6L壶中还剩3L水。

8. 烧绳子

Q1:烧一根不均匀的绳子要用1个小时,如何用这根绳子来判断半个小时?

A1:一根绳子从两头烧,烧完就是半个小时。

Q2:还是一样不均匀的绳子,一根绳子从头烧到尾要1个小时,现在给你若干根这样的绳子,问,如何用烧绳来计时一个小时十五分钟呢?

A2:同时烧两根绳子,一根从一头烧,一根从两头烧,当两头烧的绳子烧完时(半小时),将一头烧的绳子的另一头点燃(此时已烧过半小时),这根绳子烧完时(十五分钟),从两头点燃第三根绳子,烧完时(半小时)共一小时十五分钟。

由此也可延伸出:有两根不均匀分布的香,每根香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间?

9. 高楼扔鸡蛋

Q:给你两个鸡蛋,100层高的楼,从楼上往下扔,借此来测试鸡蛋的硬度。如鸡蛋在第9层楼往下扔没有碎,在第10层楼往下扔摔碎了,那么这个鸡蛋不会摔碎的临界点就是9层。问如何使用最少的尝试次数来得到鸡蛋的摔碎临界点?

A:
暴力法:测试次数一般不是最少的,算是最笨的测试方法。也就是从第1层开始,逐层往下扔,直到靠“实力”找到最终的摔碎临界点。最坏情况下可能需要扔100次???

二分法:选择一枚鸡蛋从50层开始扔,如果碎了,则取第二枚鸡蛋从第1层开始,逐层往下扔,直到找到摔碎临界点;如果没碎,再借助二分法,从75层往下扔,碎了,就从51层开始,逐层往下扔,没碎就再借助二分法,以此类推…最坏情况下需要扔50次。

均匀法:既然给了两枚鸡蛋,那为何不尝试尽量让两枚鸡蛋的尝试次数尽可能相等呢?可以做一个平方根运算,100的平方根是10。因此可以从第10层扔,然后20,30…这样一来,最好的情况就是在第10 层的时候碎掉,尝试次数为1+9=10次。最坏的情况是在第100层碎掉,尝试次数为10+9=19次。如果从15层开始,以10为间隔,那么此时的最坏情况是在第95层碎掉,此时尝试次数为9+9=18次。

解方程法:可以假设存在最优解x次,则最初应该从第x层开始扔(证明:反证法,如果从x+1层开始,则鸡蛋有可能会碎,这时只能从第0层开始扔到第x层,超出x次得限制;如果从x-1层,则小于x次)。由于尝试上限变为x-1次则第x-1次尝试(该层直接碎掉,最坏需尝试x-1次)得楼层跨度应为x-1层,绝对楼层高度变为x+x-1。由此可以推出方程:

x + ( x − 1 ) + ( x − 2 ) + . . . + 1 = 100 x + (x-1) + (x-2) + ... + 1 = 100 x+(x1)+(x2)+...+1=100

左边的多项式是各次扔鸡蛋的楼层跨度之和。由于假设尝试x次,所以这个多项式共有x项。右边是总的楼层数100。

公式化简后为 ( x + 1 ) ∗ x / 2 = 100 (x+1)*x/2 = 100 (x+1)x/2=100

最终x向上取整,得到 x = 14。

10. 对一批编号为1~100,全部开关朝上(开)的灯进行以下操作:凡是1的倍数反方向拨一次开关;2的倍数反方向又拨一次开关;3的倍数反方向又拨一次开关……问:最后为关熄状态(灭)的灯的编号。

有10盏灯为灭,分别为1,4,9,16,25,36,49,64,81,100。

因为每个质数都能被1和它自身整除,所以质数的灯是亮的。设一个合数能被N个数整除,N必然是个偶数。对于非某数平方的合数来说,将被开关N次也就是偶数次,灯保留为亮;对于上面列出的平方数,则只被开关N-1次,所以灯是灭的。

11. 四张卡片,卡片正面是数字,反面是字母。现在桌上四张卡片,状态为 a 1 b 2 现在我想要证明 a 的反面必然是 1 ,我只能翻两张牌,我翻哪两张?

我认为证明 a 的反面一定是 1 的充要条件为 a 的反面为 1,并且 2 的反面不能为 a,因此应该翻 a 和 2 两张牌。

12. 赛马问题,25 匹马,5 个赛道,最少几次能选出最快的三匹马?

我认为一共至少需要 7 次才能选出最快的三匹马。

(1)首先,我们将 25 匹马分为 5 组,每组进行比赛,选出每组最快的三匹马,其余的马由于已经不可能成为前三了,因此可以直接淘汰掉,那么我们现在还剩下了 15 匹马。

(2)然后我们将 5 组中的第一名来进行一轮比赛,最终的结果能够确定最快的马一定是第一名,四五名的马以及它们对应组的其余马就可以淘汰掉了,因为它们已经没有进入前三的机会了。并且第二名那一组的第三名和第三组的第二第三名都可以淘汰掉了,它们也没有进入前三的机会了。因此我们最终剩下了第一名那一组的二三名和第二名那一组的一二名,以及第三名一共 5 匹马,它们都有竞争最快第二第三的机会。

(3)最后一次对最后的 5 匹马进行比赛,选择最快的一二名作为最终结果的二三名,因此就能够通过 7 次比较,选择出最快的马。

13. 五队夫妇参加聚会,每个人不能和自己的配偶握手,只能最多和他人握手一次。A问了其他人,发现每个人的握手次数都不同,那么A的配偶握手了几次?

(1)由于每个人不能和自己的配偶握手,并且最多只能和他人握手一次,因此一个人最多能握 8 次手。

(2)因为 A 问了除自己配偶的其他人,每个人的握手次数都不同。因此一共有九种握手的情况,由于一个人最多只能握 8 次手,因此握手的情况分别为 0、1、2、3、4、5、6、7、8 这九种情况。

(3)我们首先分析握了 8 次手的人,由于他和除了自己配偶的每一个人都握了一次手,因此其他人的握手次数都不为 0,因此只有他的配偶握手次数为0,由此我们可以知道握手次数为 8 的人和握手次数为 0 的人是配偶。

(4)我们再来分析握了 7 次手的人,他和除了握了 0 次手以外的人都握了一次手,由于握了 8 次手的人和其余人也都握了一次手,因此其他人的握手次数至少为 2 ,因此只有他的配偶的握手次数才能为 1。由此我们可以知道握手次数为 7 的人和握手次数为 1 的人是配偶。

(5)依次可以类推,握手次数为 6 的人和握手次数为 2 的人为配偶,握手次数为 5 的人和握手次数为 3 的人为配偶。

(6)最终剩下了握手次数为 4 的人,按照规律我们可以得知他的配偶的握手次数也为4。

(7)由于 A 和其他人的握手次数都不同,因此我们可以得知握手次数为 4 的人就是 A。因此他的配偶的握手次数为 4 。

14. 你只能带行走 60 公里的油,只能在起始点加油,如何穿过 80 公里的沙漠?

(1)先走到离起点 20 公里的地方,然后放下 20 公里的油在这,然后返回起点加油。

(2)当第二次到达这时,车还剩 40 公里的油,加上上一次放在这的 20 公里的油,一共就有 60 公里的油,能够走完剩下的路程。

15. 有7克、2克砝码各一个,天平一只,如何只用这些物品三次将140克的盐分成50、90克各一份?

(1) 第一次用 7 克砝码和 2 克砝码称取 9 克盐。

(2) 第二次再用第一次称取的盐和砝码称取 16 克盐。

(3) 第三次再用前两次称取的盐和砝码称取 25 克盐,这样就总共称取了 50 克盐,剩下的就是 90 克。

16. 有一辆火车以每小时15公里的速度离开洛杉矶直奔纽约,另一辆火车以第 小时20公里的速度从纽约开往洛杉矶。如果有一只鸟,以外30公里每小时的速度和 两辆火车现时启动,从洛杉矶出发,碰到另辆车后返回,依次在两辆火车来回的飞行,直道两面辆火车相遇,请问,这只小鸟飞行了多长距离?

由于小鸟一直都在飞,直到两车相遇时才停下来。因此小鸟飞行的时间为两车相遇的时间,由于两车是相向而行,因此两车相遇的时间为总路程除以两车的速度之和,然后再用飞行的时间去乘以小鸟的速度,就能够得出小鸟飞行的距离。

17. 你有两个罐子,50个红色弹球,50个蓝色弹球,随机选出一个罐子,随机选取出一个弹球放入罐子,怎么给红色弹球最大的选中机会?在你的计划中,得到红球的准确几率是多少?

第一个罐子里放一个红球,第二个罐子里放剩余的球,这样概率接近75%,这是概率最大的方法

18. 在房里有三盏灯,房外有三个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法来区分那个开关控制那一盏灯?

(1)首先打开一盏灯 10 分钟,然后打开第二盏。
(2)进入房间,看看那盏灯亮,摸摸那盏灯热,热的是第一个开关打开的,亮的是第二个开关打开的,而剩下的就是第三个开关打开的。

19. 他们都各自买了两对黑袜和两对白袜,八对袜子的布质、大小完全相同,而每对袜子都有一张商标纸连着。两位盲人不小心将八对袜子混在一起。他们每人怎样才能取回黑袜和白袜各两对呢?

将每一对袜子分开,一人拿一只袜子,因为袜子不分左右脚的,因此最后每个人都能取回白袜和黑袜两对。

20. 有三筐水果,一筐装的全是苹果,第二筐装的全是橘子,第三筐是橘子与苹果混在一起。筐上的标签都是骗人的,(就是说筐上的标签都是错的)你的任务是拿出其中一筐,从里面只拿一只水果,然后正确写出三筐水果的标签。

从混合标签里取出一个水果,取出的是什么水果,就写上相应的标签。

对应水果标签的筐的标签改为另一种水果。

另一种水果标签的框改为混合。

21. 一个班级60%喜欢足球,70%喜欢篮球,80%喜欢排球,问即三种球都喜欢占比有多少?

1)首先确定最多的一种情况,就是 60% 喜欢足球的人同时也喜欢篮球和排球,此时为三种球都喜欢的人的最大比例。

(2)然后确定最小的一种情况,根据题目可以知道有 40%的人不喜欢足球,30%的人不喜欢篮球,20%的人不喜欢排球,因此有最多90% 的人三种球中有一种球不喜欢,因此三种球都喜欢的人的最小比例为 10%。

因此三种球都喜欢的人占比为 10%-60%

22. 五只鸡五天能下五个蛋,一百天下一百个蛋需要多少只鸡?

五只鸡五天能下五个蛋,平均下来五只鸡每天能下一个蛋,因此五只鸡一百天就能够下一百个蛋。

  • 7
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丧心病狂の程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值