IBM经典面试题:挑战你的逻辑分析能力

转载 2006年06月10日 11:52:00
文章出处:   发布时间:2005-03-06
     IBM公司向来以高素质人才作为企业持续竞争力的保证。进入IBM公司是差不多每个IT人的梦想,偶然看到这条IBM公司的面试题,给大家试试看,看看是否具备进入IBM的实力!  

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

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

B、假设有2条病狗,病狗的主人会看到有1条病狗,因为第一天没有听到枪响,是病狗数大于1,所以病狗的主人会知道自己的狗是病狗,因而第二天会有枪响。既然第二天也每有枪响,说明病狗数大于2。  
由此推理,如果第三天枪响,则有3条病狗。  

第二种推论  
1 如果为1,第一天那条狗必死,因为狗主人没看到病狗,但病狗存在。  
2 若为2,令病狗主人为a,b。 a看到一条病狗,b也看到一条病狗,但a看到b的病狗没死故知狗数不为1,而其他人没病狗,所以自己的狗必为病狗,故开枪;而b的想法与a一样,故也开枪。由此,为2时,第一天看后2条狗必死。  
3 若为3条,令狗主人为a,b,c。 a第一天看到2条病狗,若a设自己的不是病狗,由推理2,第二天看时,那2条狗没死,故狗数肯定不是2,而其他人没病狗,所以自己的狗必为病狗,故开枪;而b和c的想法与a一样,故也开枪。由此,为3时,第二天看后3条狗必死。 4 若为4条,令狗主人为a,b,c,d。a第一天看到3条病狗,若a设自己的不是病狗,由推理3,第三天看时,那3条狗没死,故狗数肯定不是3,而其他人没病狗,所以自己的狗必为病狗,故开枪;而b和c,d的想法与a一样,故也开枪。由此,为4时,第三天看后4条狗必死。5 余下即为递推了,由年n-1推出n。  答案:n为4。第四天看时,狗已死了,但是在第三天死的,故答案是3条。

经典面试智力题200+题和解答

招聘时期到了,总少不了需要准备智力题。考来考去大多是各种旧题,本来是考智力的事情,现在几乎已经变成了题海战术的考试,所以我们也不能在这一块落后。学习各种奇巧淫技,扩展一下思路,同时免得笔试面试吃亏。 ...
  • csuzhaoqinghui
  • csuzhaoqinghui
  • 2016年08月03日 21:06
  • 6327

android面试中经典的75道逻辑思维题

本宝宝不爱写博客,但是,哎,程序猿的世界要潜规则我,宝宝无力反抗 我看很多人都在找面试方面的东西,所以本宝宝给个Q,后排的宝宝输出要跟上 在这里说说面试中的逻辑思维题,我在面试的时候,碰到不少的逻...
  • qq_33785670
  • qq_33785670
  • 2016年04月20日 20:50
  • 3131

Java经典逻辑编程50题

相信很多 Java 初学者都看到过这些题,本人也看了几遍,最终下定决心弄到我的博客中来作为我的学习记录,同时也可供后面的 Java 学习者参考。题目的代码有些时看别人的,大部分是自己写的,如有雷同,请...
  • Alias_fa
  • Alias_fa
  • 2016年10月31日 19:10
  • 2761

【收藏】15道Java 经典面试题及答案分析

点击上方“程序员大咖”,选择“置顶公众号”关键时刻,第一时间送达!1Java 中能创建 Volatile 数组吗?能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不...
  • Px01Ih8
  • Px01Ih8
  • 2018年01月06日 00:00
  • 99

经典面试题:Java实现-归并K条已排序的链表及复杂度分析、优化

这是一道非常经典的面试题,不少人问过我蛮多次了。 真要我一时半会儿马上把这个实现并讲清楚,其实也是比较麻烦的,写篇博客记录一下吧。...
  • Shenpibaipao
  • Shenpibaipao
  • 2017年05月21日 00:44
  • 237

经典面试题分析之Google搜索之星(js实现)

题目: 给你一天Google搜索日志,你怎么设计算法找出是否有一个搜索词,它出现的频率占所有搜索的一半以上?如果肯定一个搜索词占大多数,你能怎么提高你的算法找到它,再假定搜索日志就是内存中的一个数组...
  • fendouzhe123
  • fendouzhe123
  • 2014年04月27日 22:36
  • 585

IBM面试题 (java方面)

1.java的为什么使用序列化 一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的。因此如果要序列化某些类的对象,这些类就必须实现Serializable...
  • net19880504
  • net19880504
  • 2014年09月07日 21:59
  • 4148

IBM面试题:海盗分金算法及其思想

IBM面试题: 妈妈有2000元,要分给她的2个孩子。由哥哥先提出分钱的方式,如果弟弟同意,那么就这么分。但如果弟弟不同意,妈妈会没收1000元,由弟弟提出剩下 1000元的分钱方式,这时如果哥哥同...
  • shihui512
  • shihui512
  • 2013年04月27日 17:50
  • 2365

20个高级Java面试题汇总,你要来挑战吗?

点击最上方蓝字进行关注的都是靓仔和仙女 这是一份高级Java面试题。这一份面试题论述了可变参数,断言,垃圾回收,初始化器,令牌化,日期,日历等等Java核心问题。 1. 什么是可变参数? ...
  • TVwR8OfV0P
  • TVwR8OfV0P
  • 2017年11月13日 00:00
  • 151

你不知道的JavaScript--Item31 值得你挑战的JavaScript面试题(45题)

你不知道的JavaScript系列,已经有这么多篇博文了,见天找了一些题目,我觉得,下面这些是你“不可能全部会做 ” 的javascript题目,不信你可以试试,答案在后面的博客给出,也许你是jser...
  • i10630226
  • i10630226
  • 2015年11月10日 22:03
  • 12672
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IBM经典面试题:挑战你的逻辑分析能力
举报原因:
原因补充:

(最多只允许输入30个字)