小明和小强都是张老师的学生,张老师的生日是某月某日,2人都不知道张老师的生日。 生日是下列10组中一天: 3月4日 3月5日 3月8日 6月4日 6月7日 9月1日 9月5日 12月1日 12月2日 12月8日 张老师把月份告诉了小明,把日子告诉了小强,张老师问他们知道他的生日是那一天吗? 小明说:如果我不知道的话,小强肯定也不知道。 小强说:本来我也不知道,但是现在我知道了。 小明说:哦,那我也知道了。 请根据以上对话推断出张老师 生日是哪一天?
解决方案 »
- 请教,xtext解析dsl与插件化
- 请问JAVA开发远程系统是否比C#更有优势?
- springMVC+JPA整合,数据库方言问题
- <s:optiontransferselect>标签的问题
- ssh架构,取出时间如何格式化?
- 简单的struts-congid.xml新手问题
- 救急啊!~大家来看看我这个程序是什么错误
- 关于 <html:errors/> 无法显示错误信息
- JAVA初学的困惑-哪里有项目培训资料!
- 请高手给我一个客户端使用ejb的例子,谢谢。
- Map容器,一个测试小程序,无法调试正确。并帮我小注释下。
- remove 元素时抛异常 java.util.ConcurrentModificationException
网上复制的: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月份的有两组)