• 小明和小强都是张老师的学生


    小明和小强都是张老师的学生,张老师的生日是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日

    小明说:如果我不知道的话,小强肯定也不知道
    小强说:本来我也不知道,但是现在我知道了
    小明说:哦,那我也知道了

    今天去面试时遇到的题,当时没有分析出来,回来在网上查了资料,我按我的理解分析如下:

    1. 分析第一句话“小明说:如果我不知道的话,小强肯定也不知道”。小明到底得到的月份M是什么,才敢这么嚣张,说小强肯定不知道呢?分析10组日期后不难看出,小明知道的M不可能是6或12,因为6月中的"7”,和12月中"2",在所有日期中是唯一的!万一小强知道的N就是7或2,那么小强就直接知道张老师的生日了,小明就不可能有把握说“小强肯定不知道”,所以M只能是3和9. 既然如此,那小强的N也不可能是7或2了,所以小强和小明一样也在猜测。

    2. 分析第二句话“小强说:本来我也不知道,但是现在我知道了”。听完小明说的话后,小强就分析了,得知剩下的可能日期有:3月4日、3月5日、3月8日、9月1日、9月5日。这时小强心中窃喜,说他已经知道了!那么,小强知道的N肯定不是5,因为有3月5日和9月5日两种选择。小强不肯透露他的答案,我们只能把范围缩小到"3月4日、3月8日、9月1",继续分析。。。

    3. 分析第三句话“哦,那我也知道了”。小明听到小强说知道答案后,也跟我们一样,有3个日期供选择(见第2步)。小明说他也知道答案了,那情况只剩一种:小明的M是9!所以,张老师的生日是9月1号!

  • 相关阅读:
    大学生创业不可或缺的六项品质
    C#的9*9乘法表!
    湖北武汉的进来!看看!
    每束焰火都装了电脑芯片
    学习C#之旅 魔泡排序
    学习C#之旅(C#语言基础,运算符)
    主攻ASP.NET.3.5.MVC架构之重生: URL Routing (三)
    主攻ASP.NET.3.5.MVC架构之重生: LINQ(六)
    【HDU】3341 Lost's revenge
    【HDU】2243 考研路茫茫――单词情结
  • 原文地址:https://www.cnblogs.com/qmlm8844/p/2962363.html
Copyright © 2020-2023  润新知