有趣的逻辑推理题
一个村子里,有50户人家,每家都养了一条狗。现在,发现村子里面出现了n只疯狗,村里规定,谁要是发现了自己的狗是疯狗,就要将自己的狗枪毙。 但问题是,村子里面的人只能看出别人家的狗是不是疯狗,而不能看出自己的狗是不是疯的,如果看出别人家的狗是疯狗,也不能告诉别人。 于是大家开始观察,第一天晚上,没有枪声,第二天晚上,没有枪声,第三天晚上,枪声响起(具体几枪不清楚),问村子里有几只疯狗?答案:3条分析: 第一天,如果每个人看到其他49只狗都活蹦乱跳,那么他都不用看自己的狗,根据前提1,每个人都明白,院子里至少有一只病狗,必然是自己的狗病了,那么根据条件2,第一天就会响枪。由于第一天没有枪声,说明假设不对,即:每个人看到其他49只狗都活蹦乱跳是不对的,反过来说每个人至少能够看到一只病狗。 现在的问题是:每个人都看到了至少一只病狗,可为什么没有响枪呢?因为病狗的主人看到的是别人家的病狗,如果他看到的病狗的主人枪杀了自己的狗,他会想:谢天谢地,我家的狗没病,在第一天,在他所看到的病狗的主人先枪杀他的狗之前,他是不敢贸然杀死自己的狗的,如果他这样做,反而会误导他所看到的那个病狗的主人,他会认为自己的狗没有病。第一天没有枪声,那么每个人都知道,院子里至少有两只病狗。 到了第二天,如果每个人都看到48只活蹦乱跳的狗和一只病狗,那么不用犹豫,自己的狗病了,杀吧。可第二天还是没有枪声,那么每个人都知道,院子里至少有三只病狗,那只能等到第三天。 到了第三天,如果每个人都看到47只活蹦乱跳的狗和两只病狗,那么不用犹豫,自己的狗也病了,杀吧。第三天传出一阵枪声,说明有三只狗被杀。
标签: 有趣的逻辑推理题