`

查病狗(一面试题)

阅读更多

http://doublecqw.iteye.com/blog/967648

不知道啥的,链到这个帅哥的blog然后翻了一下,看到了一个面试题。

 

问题:

n个人,每人一头狗。这n头狗中并有病狗,然后每个人的都能检测出其他n-1个人的病狗(不能检测自己的)。经过推断后,如果猜测到自己的狗是病狗,就把自己的狗扑街掉!(没错,这些都足够高的IQ)

第一天没枪声,第二天也没有,第三天传来一阵阵枪声,问,有几头病狗。

 

 

答案:

病狗数(最多就是自己的检测数+1

 

1

那么,肯定有一个人A没有检测到病狗。但条件中有明确说n条狗中有病狗!

第一天,        A就会把自己的狗干掉!

2

A,B两人检测到了1条病狗,其他人都检测到了两头病狗。

第一天,        没有人杀狗的,因为大家都检测到了至少一条病狗了!

第二天,        这一天比较特殊。

 假设你是C,因为你检测到了2头病狗,所以,第二天你肯定没理由怀疑自己。

 假设你是A/B第一天都没开枪,说明病狗数不止一头,至少是两头(其实就是2头,如果是3头,那我知道能检测到2头)。但我检测的只有一头,说明,我自己的狗是病的!干掉!

(答案:3

A,B,C两人检测到了2条病狗,其他人都检测到了3头病狗。

第一天,        没有人杀狗的,因为大家都检测到了至少一条病狗了!

第二天,        没有人杀狗的,因为大家都检测到了至少2条病狗了!

第三天,        这一天比较特殊。

假设你是D,因为你检测到了3头病狗,所以,第3天你肯定没理由怀疑自己。

 假设你是A/B/C2天都没开枪,说明病狗数不止2头,至少是3头(其实就是3头)。但我检测的只有2头,说明,我自己的狗是病的!干掉!

 

……

 

n

所有狗都有病,那么,没人都检测到n-1头狗有病。

在第n-1天,大家都没有理由怀疑自己的狗。但是到了第n天,说明,至少有n条狗有病了(其实就是n头),而自己检测到只有n-1头。那就说明自己的是病狗。齐刷刷的全部枪毙!

分享到:
评论

相关推荐

    IT 130套经典面试题

    在这50条狗中有病狗(这种病不会传染)。于是人们就要找出病狗。每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。主人一旦推算出自己家的是...

    java工程师面试智力题

    java工程师职位招聘时,一些有趣的面试智力题,

    经典面试、笔试题

    在这50条狗中有病狗(这种病不会传染)。于是人们就要找出病狗。 每个人可以观察其他的49条狗,以判断它们是否生病(如果有病一定能看出来),只是自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人...

    Logic-Interview-Questions:逻辑推理面试题目

    Logic-Interview-Questions 逻辑推理面试题目 题目列表: 1、翻硬币:将硬币分成两堆并确保两堆硬币正面朝上的硬币数量一致。...3、病狗:村里有病狗,通过观察和枪声发现病狗; 4、买鸡:买入、卖出算盈利;

    C/C++程序员面试指南.杨国祥(带详细书签).pdf

    面试题2:村里有多少条病狗 面试题3:他们都在做什么 面试题4:躯体与灵魂 面试题5:小明一家能否安全过桥 面试题6:过河 问题 面试题7:这是张什么牌 面试题8:说谎岛上的两个部落 面试题9:谁是特尔斐城的预言家 ...

Global site tag (gtag.js) - Google Analytics