三道经典的逻辑推理面试题:病狗、三盏灯、买鸡

题目一:

        村子里有50个人,每人有一条狗,在这50条狗中有病狗(这种病不传染),于是人们要找出病狗。每个人可以观察其他49条狗,以判断他们是否生病,(如果有病一定能看出来),只有自己的狗不能看,观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的狗是病狗就是枪毙自己的狗(发现后必须在一天内枪毙),而且每个人只有权利枪毙自己的狗,没有权利打死其他人的狗。第一天大家全看完了,但枪没有响,第二天也没有枪响,到了第三天传来一阵枪声,问村里共有几条病狗,如何推算出来的?

分析:
第一天:没有枪响,说明至少有两条病狗,因为如果只有一条病狗,病狗的主人看到别人家的病狗时就会发现自己家的狗是病狗,肯定会干掉自家的狗,但问题是没有枪声;
第二天:没有枪响,病狗的主人发现第一天没有枪响,会怀疑自己家的是病狗,如果只有两条病狗的话,病狗的主人肯定会干掉自己家的病狗,但问题是没有枪声,所以病狗数一定大于2;
第三天:不用分析了,病狗数大于2就说明有3条病狗啊。

答案:

3条病狗


问题二:
        一个人花8元买入一只鸡,9元卖出;10元再买入,11元再卖出,他赚了多少钱?

分析:
一次只算一次买卖,题目涉及到两次买卖,分开来算。
第一次买卖:8元买进,9元卖出,赚了1元;
第二次买卖:10元买进,11元卖出,赚了1元。
总计2元。

答案:
赚了2元。

题外话:
其实这道题不够严谨,如果考虑到物价波动的因素,真不知道这个人到底是亏了还是赚了。


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

分析:
通过长时间灯亮会发热来判断。

答案:
首先:长时间开一盏灯,大概半个小时后关掉该盏灯;然后打开另外一盏灯,这时候进门;亮着的灯对应着刚打开的开关,用手摸剩下没亮的两盏灯,温度较高的是刚才长时间亮着的灯,剩下的就是没有开的那一盏灯啦。


问题四:
有23枚硬币在桌上,10枚正面朝上。假设别人蒙住你的眼睛,而你的手又摸不出硬币的正反面。让你用最好的方法把这些硬币分成两堆,每堆正面朝上的硬币个数相同。

思路:
这道题的关键在于两堆硬币正面数相等,但不一定是五个。

答案:
23枚硬币分成10和13枚,假设10枚硬币这一堆有n个正面朝上的硬币,那么13枚那一堆就有10–n枚正面朝上的硬币。问题就变得很简单了,将10枚那一堆全部翻转一遍不就正好也是10–n枚朝上吗。


最近迷上了算法和逻辑推理的面试题目,发现好多题目都不会,好多大学里面学到的内容都忘记了。有几个网站不错,贴出来:

牛客网

LeetCode

快课网

九章算法

九度OnlineJudge

    原文作者:传染病问题
    原文地址: https://blog.csdn.net/ekeuy/article/details/41042033
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞