查看: 2962|回复: 35

[逻辑推理] 一道很有意思的硬核逻辑题

改编  已解决  简洁模式
发表于 2023-12-29 00:59:09 江西| 2023-12-29 01:01编辑 | 发自安卓客户端 | 显示全部楼层
一个村庄里有若干户人家,每户人家都养一条狗,现在每天早上每户居民都要前往其他每户人家里查看他们的狗是否是病狗,回到家后如果能推出自己家的狗是病狗,晚上就要把自己家的狗给杀掉。

已知:
1.该村庄必然有病狗。
2.村民能看出别人的狗是不是病狗,但自家的狗是否得病只能靠推理。
3.每一个村民都足够聪明。
4.病狗一开始就有,数量固定,不会感染。

问题:前三天都没有人杀狗,到了第4天晚上有狗被杀了。请问该村庄一开始共有几条病狗?
登录帐号可查看完整回帖内容

此回答在 2024-1-11 17:54 被选定为谜题答案,获得破案经验 1

7 | 发表于 2023-12-29 01:06:54 上海| 发自安卓客户端 | 显示全部楼层 发帖际遇
4条吗
如果只有一条的话,第一天就会有人发现其他狗里没有病狗然后把自家狗子杀了,第一天没狗死就说明不止一条
到第二天病狗不止一条成为了所有人的共识,如果病狗只有两条的话,两个主人看到其他狗里有一条病狗,就会推出自家是病狗然后鲨了。第二天没狗带就说明不止两条。
然后以此类推,第四天有狗死就是四条啦
登录帐号可查看完整回帖内容
1 | 楼主| 发表于 2023-12-29 01:03:04 江西| 发自安卓客户端 | 显示全部楼层
各位答题时既要给出答案,也要给出推理过程昂
补充:此题看似复杂,但只要领悟关键要素,就易如反掌
1 | 发表于 2023-12-29 12:46:14 海南| 发自安卓客户端 | 显示全部楼层 发帖际遇
这题有个小bug,可能改编的时候把一些信息丢了
应该要先有一个外来人告诉村民有x条病狗,到第x天晚上才能有狗死亡
登录帐号可查看完整回帖内容
1 | 发表于 2023-12-29 17:24:40 山东| 显示全部楼层
这是根据那个红眼睛蓝眼睛改编的吧
登录帐号可查看完整回帖内容
1 | 发表于 2023-12-29 18:51:39 山东| 发自安卓客户端 | 显示全部楼层
有4条

因为所有人可以直接检查出其他人的狗是否为病狗。

假设病狗有x条,病狗的主人检查后,得出病狗数量就是x-1。好狗主人检查后的病狗数量就是x。

也就是说,好狗主人不管怎么查,自己的答案都会比病狗主人检查结果多一个。
如此一来,只需要让所有人根据自己检查的病狗数目,在等待相同的天数后将狗杀掉就好了。病狗主人一定会先好狗主人一步将自己的狗杀死。

举例说明,由于先杀狗的只可能是病狗主人,所以例子都是病狗主人的视角。

比如,有人检查结果为0,那么实际病狗数量就为1,此人不需要等待,在第一天当晚杀狗就可以了。

而如果检查结果为3,那么实际病狗数量就为4,此人需要等待3天,也就是在第4天晚上杀掉自己的狗。

因此,病狗一共有4条。
登录帐号可查看完整回帖内容
| 发表于 2024-1-11 17:02:09 中国| 发自安卓客户端 | 显示全部楼层
首先我们假设有n条病狗,那么我们用n=1,2,3,\cdots来进行讨论:
就会得到,1. 如果n=1,第一天病狗的主人就会发现其他人家都没有病狗,那么自己家的狗就是病狗,所以第一天晚上就会杀狗。
2. 如果n=2,第一天病狗的主人会看到一条病狗,但是不能确定自己家的狗是否有病,因为可能有两条病狗。第二天,病狗的主人会看到两条病狗,此时他能确定自己家的狗也是病狗,所以第二天晚上就会杀狗。
3. 如果n=3,第一天病狗的主人会看到两条病狗,他不能确定自己家的狗是否有病,因为可能有三条病狗。第二天,病狗的主人会看到三条病狗,此时他能确定自己家的狗也是病狗,所以第二天晚上就会杀狗。
那么我们以此类推,如果村庄一开始有4条及以上的病狗,那么第一天或第二天晚上就会有狗被杀。
因此,前三天都没有人杀狗,说明病狗的数量是3条,到了第4天晚上才有狗被杀。
| 发表于 2024-1-11 17:39:53 江西| 发自安卓客户端 | 显示全部楼层
为4条,其实很简单的
第一天,村民们没有动手,是因为病狗肯定不止一只,这个就不详讲了。
而第二天,若只有两只病狗一下就可以得出答案,因为第一天养病狗的主人各自只看一条病狗,且第一天没有“动手”,所以推出自己养的也是病狗。
而第三天,病狗主人各自看到二条病狗,而第二天没有“动手”,所以他们推出有三条病狗,自己这条也是。
而第四天,病狗主人各自看到三条病狗,而第三天没有“动手”,所以推出自己这条也是。

而题目是第四天杀死,所以答案是四条。
| 发表于 2024-1-12 01:07:52 福建| 发自安卓客户端 | 显示全部楼层
让我说亿点废话:

第一天,早上
我没有发现病狗
那么我的狗是病狗
第一天,晚上
我把狗杀了
不符合条件

第一天,早上
我发现了一只病狗
那么假设我的狗不是病狗
那么村庄内只有一只病狗
那么病狗的主人没有发现病狗
|   那么我的狗是病狗
|   第一天,晚上
|   我把狗杀了
|   不符合条件
那么我的狗是病狗
第二天晚上
我把狗杀了
不符合条件

第一天,早上
我发现了两只病狗
那么假设我的狗不是病狗
那么村庄内只有两只病狗
那么病狗的主人发现了一只病狗
|   那么假设我的狗不是病狗
|   那么村庄内只有一只病狗
|   那么病狗的主人没有发现病狗
|    |   那么我的狗是病狗
|    |   第一天,晚上
|    |   我把狗杀了
|    |   不符合条件
|   那么我的狗是病狗
|   第二天晚上
|   我把狗杀了
|   不符合条件
那么我的狗是病狗
第三天晚上
我把狗杀了
不符合条件

第一天,早上
我发现了三只病狗
那么假设我的狗不是病狗
那么村庄内只有三只病狗
那么病狗的主人发现了两只病狗
|   那么假设我的狗不是病狗
|   那么村庄内只有两只病狗
|   那么病狗的主人发现了一只病狗
|    |   那么假设我的狗不是病狗
|    |   那么村庄内只有一只病狗
|    |   那么病狗的主人没有发现病狗
|    |    |   那么我的狗是病狗
|    |    |   第一天,晚上
|    |    |   我把狗杀了
|    |    |   不符合条件
|    |   那么我的狗是病狗
|    |   第二天晚上
|    |   我把狗杀了
|    |   不符合条件
|   那么我的狗是病狗
|   第三天晚上
|   我把狗杀了
|   不符合条件
那么我的狗是病狗
第四天晚上
我把狗杀了
符合条件

所以一开始有四只病狗
| 发表于 2024-1-12 10:00:59 广东| 显示全部楼层 发帖际遇
根据题意,我们可以通过逻辑推理来解决这个问题。下面是推理过程:

假设村庄里有n条病狗,每一个村民都能看到其他n-1户人家的狗。
到了第三天晚上,每个村民都没有杀狗,因为通过前两天的观察,他们没有发现自己家的狗是病狗。
到了第四天晚上,某个村民发现自己家的狗是病狗,并将其杀掉。
根据以上推理,我们可以得出结论:在第四天晚上之前,每个村民都已经看到了其他n-1户人家的狗。而在第三天晚上,他们没有杀狗,说明他们没有发现自己家的狗是病狗。所以,在第四天晚上之前,村庄里的病狗数量应该是n-1。

然而,我们已知村庄里一开始就有n条病狗,这与我们的推理结果相矛盾。因此,我们的假设是错误的,村庄里一开始就有n条病狗。在第四天晚上,有狗被杀了,这是因为村民已经看到了其他n-1条病狗,所以他们可以确定自己家的狗是病狗,并将其杀掉。所以,该村庄一开始共有n条病狗。
返回版块
12
尚未登录
您需要登录后才可以回帖 登录 | 加入学院