zoukankan      html  css  js  c++  java
  • 《年薪40万的一道面试题》

    年薪40万的一道面试题

    小明和小强都是张老师的学生,张老师的生日是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日   
    小明说:如果我不知道的话,小强肯定也不知道   
    小强说:本来我也不知道,但是现在我知道了   
    小明说:哦,那我也知道了   
    请根据以上对话推断出张老师的生日是哪一天?   



    首先根据条件,可知,M=3、6、9、12。N=1、2、4、5、7、8。为了便于一起考虑,我们按下面的方式排列日期。
    3月4日 3月5日 3月8日
    6月4日 6月7日
    9月1日 9月5日
    12月1日 12月2日 12月8日

    先 分析“小明说:如果我不知道,小强也不知道。”,根据上面的表可以知道,无论如何,小明也不可能通过M的值来确定老师的生日,也就是说小明的意思是说小强 不会通过N的值判断出老师的生日。根据上表可以知道,当N=2或7时,小强可以判断出来,因为N=2时只有12月2日。N=7时只能是6月7日。但因为小 明在只知道M的情况下就知道小强判断不出来,说明M不等于12或6。即M=3或9。

    再分析“小强说:本来我也不知道,但是现在我知道了。”,因为M=3或9,此时N只能=1、4、5、8。本来小强是不知道老师的生日的,但他听了小明的话即知道M=3或9时,就判断出来了,说明N不等于5,因为N=5时,M=3、9都没问题。N=1、4、8。

    最后分析“小明说:哦,那我也知道了。”,因为此时小明知道小强判断出来后即N不等于5,也判断出来了,说明M=9。若M=3,则,根据前面的分析,小明只能知道,老师的生日是3月4日或者3月8日,但不能确定。若M=9,则只有9月1日一种情况。

    所以根据上面的推理,老师的生日应该为9月1日。

  • 相关阅读:
    力扣238.除自身以外数组的乘积 & 剑指offer 51.构建乘积数组
    网易的Airtest
    ZOOKEEPER
    Apache和Nginx负载均衡集群及测试分析
    mysql——创建索引、修改索引、删除索引的命令语句
    sql-索引的作用
    ADB连接手机的两种方式(usb数据线连接和wifi连接)
    adb shell dumpsys 命令
    count(*) 和 count(1)和count(列名)区别
    博客园页面设置
  • 原文地址:https://www.cnblogs.com/yequan/p/1556693.html
Copyright © 2011-2022 走看看