随笔-3  评论-1  文章-0  trackbacks-0

由于最近忙着找工作,所以我的第一篇C++Blog一直都没有写完,但是觉得老空着也不太好!于是先发一篇关于逻辑的帖子。这是我在网上逛的时候看到的面试题(据说是月薪3万,不知是否属实!)。

小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天:
 3月4日 ,3月5日, 3月8日, 6月4日, 6月7日, 9月1日 ,9月5日 ,12月1日 ,12月2日 ,12月8日 。
张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?小明说:如果我不知道的话,小强肯定也不知道。
小强说:本来我也不知道,但是现在我知道了。
小明说:哦,那我也知道了。
 请根据以上对话推断出张老师的生日是哪一天 。

题目本身不太难(如果以前没有接触过类似的题目,先从说话人的角度去考虑问题会找的突破口。)但很有代表性,答案在下面,最好先想想看再看答案。(注:答案为白色字体)

答案:
条件1:[小明]知道M月、[小强]知道N日              
条件2:“小明说:如果我不知道的话,小强肯定也不知道 小强说:本来我也不知道,但是现在我知道了 小明说:哦,那我也知道了”             
由这对话说明:[小强]知道的N日不可能是唯一的N日,排除6月7日和12月2日。        
“小明说:如果我不知道的话,小强肯定也不知道”          
由这句话+上面的排除法说明:[小明]知道的M月肯定不是6月和12月,否则万一[小强]知道的N日是7日或2日[小明]话就不成立。

现在还剩下:3月4日 3月5日 3月8日 9月1日 9月5日         
再根据条件2的后半句:“小强说:本来我也不知道,但是现在我知道了 小明说:哦,那我也知道了”      

由这句话说明:小强知道的N日一定不是5日,否则上句[小强]的话不成立,“这时还剩下:3月4日 ,3月8日, 9月1日”
如果[小明]知道的是M月是3月话,上面[小明]的话“小明说:哦,那我也知道了”不成立。

所以只剩下9月1日 。

posted on 2006-06-04 10:15 Leon 阅读(313) 评论(1)  编辑 收藏 引用 所属分类: 杂类

评论:
# re: 一道逻辑题 2006-09-15 20:54 | 肥猫
真是有意思的题目,赞一个,呵呵  回复  更多评论
  

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理