[绝对挑战]IBM面试题(附答案)

王朝other·作者佚名  2006-02-01
窄屏简体版  字體: |||超大  

村子里有50个人,每个人有一条狗。这50条狗中有病狗(这种病不会传染),于是人们就要找出病狗。每个人都可以观察其他的49条狗,以判断他们是否生病,只有自己的狗不能看。观察后的结果不能交流,也不能通知病狗的主人。主人一旦推算出自己的狗是病狗,就要枪毙自己的狗。而且每个人只有权力枪毙自己的狗,没有权力处理别人的狗。第一天,第二天都没有枪响。到了第三天传来一阵枪声。问有几条病狗,如何推算得出?

答案:

A.假设有1条病狗,病狗的主人会看到其他狗都没有病,那么就知道自己的狗有病,所以第一天晚上就会有枪响。因为没有枪响,说明病狗数大于1。

B.假设有2条病狗,病狗的主人会看到有一条病狗,因为第一天没有听到枪响,使病狗数大于1,所以病狗的主人会知道自己的狗是病狗,因而第二天会有枪响。既然第二天也没有枪响,说明病狗数大于2。

有此推理,如果第三天枪响,则有3条病狗。

总结:

问题不在于答案到底是什么,而在于我们如何求解。

初遇问题我们可能会感觉一片茫然,不知无从下手,这是最差的情况。

其实面对不知何解的问题,我们不妨采取笨点的办法。不就是50条狗吗?我就是一条一条的假设,然后得出矛盾,排除,又能怎样呢?即便是采取如此笨的办法,也比光看着发呆强。而且,你看到了,有时候还很管用。

碰到问题,不要不敢下手。愣着发呆,或许才是真正的问题。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航