![yaoqian目前处于离线状态](https://user.hlgnet.com/face/Image0.gif) |
等 级:居民 |
经 验 值:30 |
魅 力 值:9 |
龙 币:45 |
积 分:30 |
注册日期:2002-12-11 |
|
|
|
我写出一个答案,你就知道是对还是错^*^
这道题还要一个前提,那就是每天只出一次结果,并且有病狗大家都是能看出来的,否则下面答案不成立。解答如下:
将50条狗的主人分为两类(组合数学方法):
I类: 表示主人的狗有病;I类中的每个人将看到 IM=(I类) - 1 的病狗;
N类: 表示主人的狗是正常的;I类中的每个人将看到 NM=(I类) 的病狗;
下面看观察过程:
第一次(第一天)观察,I类至少应有一个(即至少有一条狗病,IM>=0),因而:
I类与N类的行为如下:
如果IM=0,I类肯定自己的狗是病的(因为病狗至少1条,自己却只看到0条),将其杀了;否则,I类看到病狗数为大于0,不能判定自家狗是否有病,为保险,是不会杀狗的。
显然,NM>=1(因为NM=I类,或者NM=IM+1),N类类看到NM条病狗,就不能判定自家狗是否有病,为保险,也不会杀狗的。
经过上面分析,只有病狗数 I类=1时,才会有人杀狗,且只有一个人杀狗。
如果没人杀狗,则I类>=2,此时IM>=1。
第二次(第二天)观察,I类至少应有两个(即至少有两条狗病,IM>=1),因而:
I类与N类的行为如下:
如果IM=1,I类肯定自己的狗是病的(因为病狗至少2条,自己却只看到1条),将其杀了;否则,I类看到病狗数为大于1,不能判定自家狗是否有病,为保险,是不会杀狗的。
显然,NM>=2(因为NM=I类,或者NM=IM+1),N类类看到NM条病狗,就不能判定自家狗是否有病,为保险,也不会杀狗的。
经过上面分析,只有病狗数 I类=2时,才会有人杀狗,且只有两个人杀狗。
如果没人杀狗,则I类>=3,此时IM>=2。
第三次(第三天)观察,I类至少应有三个(即至少有三条狗病,IM>=2),因而:
I类与N类的行为如下:
如果IM=2,I类肯定自己的狗是病的(因为病狗至少3条,自己却只看到2条),将其杀了;否则,I类看到病狗数为大于2,不能判定自家狗是否有病,为保险,是不会杀狗的。
显然,NM>=3(因为NM=I类,或者NM=IM+1),N类类看到NM条病狗,就不能判定自家狗是否有病,为保险,也不会杀狗的。
经过上面分析,只有病狗数 I类=3时,才会有人杀狗,且只有三个人杀狗。
如果没人杀狗,则I类>=4,此时IM>=3。
大家可以通过这样逻辑推理,从不同人的不同视点看问题,将复杂的事物归类处理,就简单明了。大家可以看出,杀狗类与判定的次类是相等的。 这道题可以看出一个人分析问题的能力。
-------------------
作者:IT工作者,从事电信软件开发,公司160人,技术骨干。我很少到这里发文章,希望能同大家交朋友。对了,我自做了一个手机短信软件,通过电脑(不用上网)和手机发送短信,有需要,给我发邮件。
交朋友,技术合作,请发邮件: ;
|
|
|
|