日期:2014-05-20 浏览次数:20679 次
这是一道java面试题,想清楚了,贴出来和大家分享一下:
题目内容:
小明和小强都是张老师的学生,张老师的生日是某月某日,2人都不知道张老师的生日。
3月4日 3月5日 3月8日
6月4日 6月7日
9月1日 9月5日
12月1日 12月2日 12月8日
请根据以上对话推断出张老师生日是哪一天?
答案:9月1日
分析过程:
首先是给出了下面的10组,老师的生日就是其中的一天:
3-4 3-5 3-86-4 6-79-1 9-512-1 12-2 12-8
小明是知道月份的,因为张老师告诉了他了生日的月份,而小强知道生日的日子。
也就是说小明知道是哪个月,但不知道哪天,而小强知道是哪天不知道是哪个月。
而知道月份的小明说:如果我不知道的话,小强肯定也不知道。 小明这么肯定的
说,这说明月份不可能是6月或12月,如果是6月或12月的话,如果小强知道的日子
是7号或者2号的话,小强通过老师告诉的日子就能知道生日是具体的哪月的哪天,
所以排除老师的生日是在6月或12月。现在可供选择的是:
3-4 3-5 3-89-1 9-5
小明说话之后,小强说:本来我也不知道,但是现在我知道了。说明小强听小明这
么说之后他也就知道了老师生日,这也就是说小强知道的日子在剩下的3月和9月中
是唯一的,不然小强不可能知道是哪天?这也就是说小强知道的日子是1号,这样
小强就知道老师的生日了,是9月1日。
这个时候,小明说:哦,那我也知道了。小明这么说,说明小强已经判断出老师生日
是在9月份,那小强是怎么知道的呢?那只有一种可能,那就是小强知道的日子是1日。
这样小明也知道了老师的生日:9月1日。