您的位置:首页 > 职场人生

50只狗(IBM面试题)

2006-12-21 16:55 190 查看
一个大院子里住了50户人家,每家都养了一条狗,有一天他们接到通知说院子里有狗生病了,并要求所有主人在发现自己家狗生病的当天就要把狗枪杀掉。然而所有主人和他们的狗都不能够离开自己的房子,主人与主人之间也不能通过任何方式进行沟通,他们能做的只是通过窗户观察别人家的狗是否生病从而推断自己的狗病否。(就是说,每个主人只能看出其他49家的狗是不是生病,单单没法看出而只能是根据逻辑推断出自己的狗是不是生病)

第一天没有枪声,第二天还是没有枪声,第三天传出一阵枪声,问有多少条狗被枪杀。

解答:

如果只有一只狗病了,假设主人是A,那么A看到其他家的狗都是好的,所以肯定知道是自己的狗病了,所以第一天就会听到枪声,所以肯定不是一只狗病了,是多于一只

如果是二只狗病了,主人分别是A,B. A看到B家是只病狗,心想如果病狗是两只的话,自己的肯定是病狗,就会杀死自己的狗,同样B看到A家是病狗,心想如果病狗是两只的话,自己的肯定是病狗,就会杀死自己的狗. 所以病狗不会是两只而是多于两只

如果病狗是三只,假设主人分别是A,B,C .A看到B,C 家的狗是病狗,心想如果病狗只有两只,他们就会推理出来而杀狗,所以病狗不只是两只,但是他又没看到其他的,所以他认定自己家的是病狗,而杀死,同理B,C也会杀死,所以有三只病狗

说明:感觉这样推理有些问题,望大家指教
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: