CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  新手乐园

比较经典的一个题目 建议自己看看别找答案

楼主Error_Code(void)2006-05-22 00:39:02 在 C/C++ / 新手乐园 提问

某人的生日是M月N日  
  小强只知道是M月   小明只知道是N日  
  ----------  
  3月4日   3月5日   3月8日  
  6月4日   6月7日   9月1日   9月5日    
  12月1日   12月8日   12月2日  
  他们都知道是上面10个中的一个  
  小强说:如果我不知道小明一定不知道    
  小明说:本来我不知道的   但现在我知道了  
  小强接着说:哦..那我也知道了  
  楼下的看到这里...你知道了没,是几月几号 问题点数:0、回复次数:33Top

1 楼zhaomu()回复于 2006-05-22 00:59:28 得分 0

不知道Top

2 楼xiaohuoma7620(小火马)回复于 2006-05-22 09:15:56 得分 0

貌似是6月4日Top

3 楼feizhuangxuan(费庄轩)回复于 2006-05-22 10:08:48 得分 0

我知道!基本上是6月7号Top

4 楼feizhuangxuan(费庄轩)回复于 2006-05-22 10:10:52 得分 0

那是我在来玩笑啦Top

5 楼feizhuangxuan(费庄轩)回复于 2006-05-22 10:11:57 得分 0

小强说:如果我不知道小明一定不知道    
  —》3月4日   3月5日   3月8日  
  6月4日     9月1日   9月5日    
  12月1日   12月8日Top

6 楼hejunbin(何俊斌)回复于 2006-05-22 10:23:13 得分 0

看不懂题目的说  
   
  某人的生日是M月N日  
  小强只知道是M月   小明只知道是N日  
  ----------  
  3月4日   3月5日   3月8日  
  6月4日   6月7日   9月1日   9月5日    
  12月1日   12月8日   12月2日  
  他们都知道是上面10个中的一个//这样的话“小强只知道是M月   小明只知道是N日”矛盾的说  
                                                          //还是一句这个题目怎么乱78糟的  
                                                          //楼主可以解释一下题目意思吗  
                                                          //或者说小生愚昧也好Top

7 楼feizhuangxuan(费庄轩)回复于 2006-05-22 10:32:08 得分 0

我知道了,应该3月4日   3月5日   3月8日  
  6月4日   9月5日   12月8日   里面Top

8 楼feizhuangxuan(费庄轩)回复于 2006-05-22 10:36:58 得分 0

小强接着说:哦..那我也知道了  
  他知道了什么呢?换句话说,他缺什么就知道日期了?对!就是具体的N。他怎么知道N的?  
  因为:小明说:本来我不知道的   但现在我知道了  
  所以我们就可以推出:N一定是三月里面的一个日子  
  Top

9 楼feizhuangxuan(费庄轩)回复于 2006-05-22 10:45:25 得分 0

(那到底是3月4日   3月5日   3月8日哪一天呢?)  
  小明说:本来我不知道的   但现在我知道了  
  小强接着说:哦..那我也知道了  
  大家想想啊,为什么小强知道了啊?很简单,因为9月1日   9月5日这两天都是有和其他月份的N重叠的。只是小明不知道到底是哪月罢了  
  答案终于出来了!!!  
  呵呵,本人认为:是3月5号Top

10 楼igobin()回复于 2006-05-22 11:00:24 得分 0

楼上的有问题!  
  我认为应该是6月4号  
  最简单来说除去6月7号,和12月2号,剩下只有一个号的月份就只有6月了。Top

11 楼feizhuangxuan(费庄轩)回复于 2006-05-22 11:10:35 得分 0

抱歉!呵呵,我错了!应该是9月一号Top

12 楼jelion_liu(大猪)回复于 2006-05-22 11:19:28 得分 0

小强:A,小明B  
  9月1日。。。  
  (一),由A的话可以知道不是6月和12月。。因为各只有一个2和7。。。  
  (二),由B的话可以知道是,3月4日,3月8日,9月1日。(3月有5日,9月有5日,在知道(一)的情况下不可能判断出)  
  (三),可以知道是9月1日。(A如果知道是3月,并不能只到是4日,还是8日,只能是1日)  
  不知道对不?Top

13 楼jelion_liu(大猪)回复于 2006-05-22 11:24:45 得分 0

解释(一),6月和12月各有一个只存在一次的2,和7,从A的角度可以知道,如果是6,12月,B有可能知道,。。用排除法可以排除。。。Top

14 楼feizhuangxuan(费庄轩)回复于 2006-05-22 11:38:20 得分 0

为什么不是6月呢?  
  呵呵,你们想啊,  
  小强说:如果我不知道小明一定不知道    
  为什么会这么说啊?  
  Top

15 楼jelion_liu(大猪)回复于 2006-05-22 11:42:44 得分 0

很简单,如果小明知道无论知道是2日或7日,都可以直接知道它的月份。。  
  因为它们是唯一的。。关键是小强的“一定不知道”Top

16 楼hamimelon(夜过留香)回复于 2006-05-22 11:47:18 得分 0

是这个题目吧:    
  小明和小强都是张老师的学生,张老师的生日是M月N日,    
  2人都知道张老师的生日是下列10组中的一天,    
  张老师把M值告诉了小明,把N值告诉了小强,    
  张老师问他们知道他的生日是那一天吗?    
  3月4日   3月5日   3月8日    
  6月4日   6月7日    
  9月1日   9月5日    
  12月1日   12月2日   12月8日    
  小明说:如果我不知道的话,小强肯定也不知道    
  小强说:本来我也不知道,但是现在我知道了    
  小明说:哦,那我也知道了    
  请根据以上对话推断出张老师的生日是哪一天    
   
  答案应该是9月1日。    
  1)首先分析这10组日期,经观察不难发现,只有6月7日和12月2日这两组日期的    
  日数是唯一的。由此可知,如果小强得知的N是7或者2,那么他必定知道了老师的    
  生日。    
  2)再分析“小明说:如果我不知道的话,小强肯定也不知道”,而该10组日期的    
  月数分别为3,6,9,12,而且都相应月的日期都有两组以上,所以小明得知M后    
  是不可能知道老师生日的。    
  3)进一步分析“小明说:如果我不知道的话,小强肯定也不知道”,结合第2步    
  结论,可知小强得知N后也绝不可能知道。    
  4)结合第3和第1步,可以推断:所有6月和12月的日期都不是老师的生日,因为    
  如果小明得知的M是6,而若小强的N==7,则小强就知道了老师的生日。(由第    
  1步已经推出),同理,如果小明的M==12,若小强的N==2,则小强同样可以知道老师的生日。即:M不等于6和9。现在只剩下“3月4日   3月5日   3月8日   9月1日    
  9月5日”五组日期。而小强知道了,所以N不等于5(有3月5日和9月5日),此时,    
  小强的N∈(1,4,8)注:此时N虽然有三种可能,但对于小强只要知道其中的    
  一种,就得出结论。所以有“小强说:本来我也不知道,但是现在我知道了”,    
  对于我们则还需要继续推理    
  至此,剩下的可能是“3月4日   3月8日   9月1日”    
  5)分析“小明说:哦,那我也知道了”,说明M==9,N==1,(N==5已经被排除,3月份的有两组)Top

17 楼jelion_liu(大猪)回复于 2006-05-22 11:53:09 得分 0

答对了智商可以得多少啊?  
  呵呵Top

18 楼Error_Code(void)回复于 2006-05-22 19:46:30 得分 0

jelion_liu(大猪)    
  很简单,如果小明知道无论知道是2日或7日,都可以直接知道它的月份。。  
  因为它们是唯一的。。关键是小强的“一定不知道”  
  -----------  
  思路就是这样的  
  ====================  
  //这样的话“小强只知道是M月   小明只知道是N日”矛盾的说  
  --------  
  相当于给出   正确的项   再给出9个干扰项  
  题目没问题的Top

19 楼iicup(双杯献酒)回复于 2006-05-22 22:49:09 得分 0

小强说:如果我不知道小明一定不知道    
   
  小强连自己是否知道,都要"如果",  
  难道他是个白痴?Top

20 楼losedxyz(我真的一无所有)回复于 2006-05-23 08:20:03 得分 0

3月4日Top

21 楼youngsun1983(人品的小孙)回复于 2006-05-23 08:24:58 得分 0

做过了   应该是9月1号吧Top

22 楼onlyguhong(小黄鹂)回复于 2006-05-23 08:58:04 得分 0

……请用编程解决Top

23 楼turkey2002(没有知识真可怕)回复于 2006-05-23 09:40:43 得分 0

个人认为楼主的题目说得不好,  
  小明说:如果我不知道的话,小强肯定也不知道   ?  
  什么叫如果?小明已经知道月份,那他一定不知道。所以如果改为:  
   
  小明说:小强肯定不知道   ?  
  就容易理解了。  
  Top

24 楼qbxil()回复于 2006-05-23 09:45:15 得分 0

6.4  
  ==================  
  "小强说:如果我不知道小明一定不知道"  
  说明了什么?小明知道日期,可是在什么情况下他判断不出月份呢?对了,当日期重叠的时候,小明就会不知道是哪个月了,所以6.7和12.2绝对不是答案了  
   
  "小明说:本来我不知道的   但现在我知道了"  
  说明本来月份的选择对小明干扰很大,但是现在看看剩余项:  
  3.4       3.5       3.8  
  6.4  
  9.1       9.5  
  12.1     12.8  
  只有6月是一个,其他都无法判断,所以肯定是6.4  
   
  "小强接着说:哦..那我也知道了"  
  小强本来知道是6月,可他无法判断出是4号还是7号,而他才在前面说"如果我不知道小明一定不知道",得出日期是有重叠的,现在小明知道了,那么只会是6.4Top

25 楼yipancidai()回复于 2006-05-23 10:08:29 得分 0

小强得话的逆否命题成立  
  即:小明知道了我一定就知道了。  
  所以最后一句“哦,那我也知道了”是多余的  
  恩  
   
  我认为是6月4号  
   
  Top

26 楼turkey2002(没有知识真可怕)回复于 2006-05-23 10:09:31 得分 0

9.1  
  ==================================  
  "小强说:如果我不知道小明一定不知道"  
  说明了什么?小明知道日期,可是在什么情况下他判断不出月份呢?对了,当日期重叠的时候,小明就会不知道是哪个月了,所以6.7和12.2绝对不是答案了,但是小强怎么知道小明不知道的呢,因为他知道月份,所以月份一定不会是6或12,如果是,他不能确定小明一定不知道  
   
  现在剩下:  
  3.4   3.5   3.8  
  9.1   9.5  
   
  "小明说:本来我不知道的   但现在我知道了"  
  说明这个日子在3和9月不会同时出现,排除5  
   
  现在剩下:  
  3.4   3.8  
  9.1    
   
  "小强接着说:哦..那我也知道了"  
  如果是3月萧墙无法得知结论,所以判断答案为:  
   
  9.1Top

27 楼chenhu_doc(^0^纯一狼^0^ 看书看到大笑,直到不能自已)回复于 2006-05-23 12:31:29 得分 0

9.1  
  Top

28 楼Error_Code(void)回复于 2006-05-23 15:17:55 得分 0

9.1  
  hamimelon(夜过留香)   正解Top

29 楼citywanderer2005(流浪狗)回复于 2006-05-23 16:30:34 得分 0

6.4  
  Top

30 楼hateMonday(天行)回复于 2006-05-23 20:28:16 得分 0

9.1逻辑清晰  
  Top

31 楼fly_qj(青蛙王子)回复于 2006-05-23 20:52:58 得分 0

毫无意义!Top

32 楼cshml(菜了)回复于 2006-05-23 22:18:56 得分 0

9/1   说的通    
  6/4   对第一个条件运用不充分!Top

33 楼draren(向上落的雨)回复于 2006-05-24 09:47:31 得分 0

思路:  
   
  先把小强和小明的条件分下类:  
   
  小强:   {3.4       3.5     3.8     }{6.4   6.7}{9.1     9.5}{12.1   12.8   12.2}  
   
  小明:{9.1   12.1}{12.2}{3.4   6.4}{3.5     9.5}{6.7}{3.8   12.8}  
   
  小强说如果我不知道,则小明也不知道,也就是说在小强的某一组的每一个的日期(因为小强的每组都有多个),在小明的组里都有多个。以第一组为例,{3.4   3.5   3.8   .}   3.4   中的   4,在小明的3.4   6.4里都有,符合,3.5的5在小明的   3.5   9.5里都有,符合。   3.8   的8在小明的   3.8.12.8里都有。{9.1   9.5}也满足。但小明知道,说明肯定不是这两组里面的,否则游戏就没法玩了,因为两个人都不知道了,不能肯定了。(这么来说吧,上面两组满足小强不知道则小明不知道,但是后面小明说他知道了,也就是说如果不成立,也就是说不是这两组。)得到  
   
  小强:   {6.4   .6.7}{12.1   12.2     12.8}  
   
  这时候小明说本来我不知道的,说明日期不是单的,去掉   {12.2   6.7}  
   
  则小强剩{6.4   }{12.1   12.8}所以是“现在我知道了”----6.4  
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:Error_Code

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo