一老人 发表于 2014-7-1 17:04

郑州小升初“神题”,你会么?

本帖最后由 一老人 于 2014-7-1 17:31 编辑


      题目:50人有50条狗,有病狗,只能观察其他人的狗,
只有主人才能打死狗。不能交流,不能通知狗主人。如果推
断出自家狗是病狗,就要枪毙,只能枪毙自家狗。第一天没
有枪声,第二天有一阵枪声。问有几只病狗?
…http://img.t.sinajs.cn/t4/appstyle/expression/ext/normal/e3/sh_org.gif(郑州晚报)
http://ww4.sinaimg.cn/bmiddle/6a5ce645jw1ehxe7fxu15j207z07et8u.jpg



这些“神题”是否亮了你的眼?-郑州晚报数字报-中原网-省会首家数字报
http://zzwb.zynews.com/html/2014-06/30/content_581532.htm



615887252 发表于 2014-7-2 09:53

三只病狗

一老人 发表于 2014-7-2 09:58

615887252 发表于 2014-7-2 09:53
三只病狗

为什么?

615887252 发表于 2014-7-2 11:32

一老人 发表于 2014-7-2 09:58
为什么?

第一行“50”后面,第三行“是”后面,第四行“?”前面---------“病狗”

一老人 发表于 2014-7-2 12:04

615887252 发表于 2014-7-2 11:32
第一行“50”后面,第三行“是”后面,第四行“?”前面---------“病狗”

有网友搜索到了此题的原题来源,“村子中有50个人,每人有一条狗,在这50条狗中有病狗(这种病不会传染),于是人们就要找出病狗,每个人可以观察其他49条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要枪毙自己的狗,而且每个人只有权力枪毙自己的狗,没有权力打死其他人的狗。第一天,枪没响,第二天听到了一阵枪响,问有几只病狗?”

这道原题曾经是微软公司的面试题。

615887252 发表于 2014-7-2 17:00

“村子中有50个人,每人有一条狗,在这50条狗中有病狗(这种病不会传染),于是人们就要找出病狗,每个人可以观察其他49条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是病狗就要枪毙自己的狗,而且每个人只有权力枪毙自己的狗,没有权力打死其他人的狗。第一天,枪没响,第二天听到了一阵枪响,问有几只病狗?”         这到题的答案是5只

扫地小僧 发表于 2014-7-2 22:21

本帖最后由 扫地小僧 于 2014-7-3 00:29 编辑

应该是2只。

几个前提条件:
1,村中一定有病狗
2,村民都很聪明,跟计算机一样可以准确的推断;
3,村民看出另外哪只狗是病狗
4,一天只能看一次其他人的狗,不能看自己的狗,不能交流,只能形成一个结论

1、按最简单的来说,如果村里只有一只病狗,病狗主人看到别人的都不是病狗,那么马上可以推断出自己的是病狗,杀之;
2、如果村里有2只病狗(或者只有2个人看到别人的狗是病狗),则第一天2病狗主人是不清楚自己的狗是不是病狗(当然也不知道有2只病狗),但是知道另外一个人的是的,所以第一天都没杀;但是第二天一看,昨天没人杀狗,第一个病狗主人马上想到还有1只狗,因为除了另外一个病狗主人的狗是病狗,别人的都不是,所以推断出自己的是病狗;剩下那个也会这样思考。所以2天杀了2条病狗;
3、如果村里有3只病狗,可以建立在第二步的结论上,设病狗主人分别是1、2、3,看3和2,他们都知道1是病狗,第一天都没有杀,第二天都没有杀(因为外面已经有2条病狗了,所以这两天不确定自己是不是病狗)之后,3推断出2除了知道1之外,还有1个人不确定,那就证明病狗除了1、2之外,还至少有1条,从3的角度来说,已经看到的只有2条,所以自己必定是病狗;另外2人也会这样思考。

所以结论就是,有多少条病狗,就要多少天才能推断出来

扫地小僧 发表于 2014-7-2 22:30

像这种递推题,很锻炼数学思想的。

另外还有一个海盗分金的问题,原来想起来都头疼。。但是却是计算机编程的入门题{:1_1:}

大王叫我来巡山 发表于 2014-7-2 22:44

如果有一条病狗,一群2B站在一起,基本上一天的时间就够它咬遍所的狗了,然后一阵枪声全灭了,哪来的狗?{:1_529:}
页: [1]
查看完整版本: 郑州小升初“神题”,你会么?