题目是这样的:

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

小明说:如果我不知道的话,小强肯定也不知道

小强说:本来我也不知道,但是现在我知道了

小明说:哦,那我也知道了

请根据以上对话推断出张老师的生日是哪一天?

此题刚开始感觉无从下手,不知道该如何是好。但是这类题目,一般都是看你能不能利用其中的规律,或者打破常规的奇思妙想。什么情况下,一个人能根据他知道一个数字推出别人的生日呢?在这一题中,小明和小强知道的信息只有:生日可能的10个值,老师告诉他们的一个数字(月或者日)还有他们两个之间的对话。

首先是小明先说话,他说他不知道。他知道的可能性也确实很小,因为无论老师高诉他是哪个月,都有2种或者3种可能性让他选择,除非他还知道其他的信息,不然他肯定不知道。不过他不仅说他不知道,而且还说“如果他不知道的话,小强肯定也不知道”。那么小强什么情况下肯定不知道呢?那就是和小明一样,老师告诉他的那个日对应至少2个月份,除非他还知道其他信息,那他肯定不能确定最终生日的。但是仔细观察后,我们可以发现:如果老师告诉小强,是7或者2的话,那么他就可以知道老师的生日了。因为7和2对应的月是唯一的。所以从第一句话可以知道:N不会为7和2,M也不会为6和12(后半句要想清楚了)。

那现在的可能值就是:

3月4日 3月5日 3月8日

9月1日 9月5日

现在小强说他知道了。那N就不可能为5了,因为M就有3和9两种可能。

那现在的可能值就是:

3月4日 3月8日

9月1日

现在小明也说他也知道了。那M就肯定为9了。因为M为3的为话,N就有4和8两种可能了。

所以老师的生日是:9月1日。

解题总结:根据当前条件找出当前最能肯定(一定正确)的结论,一步一步的推下去,不断排除,最终确定。

感慨:微软的面试题果然就是不一样啊。想通了之后,觉得此题太妙了。呵呵。

转载于:https://www.cnblogs.com/aspnet_csharp/archive/2012/03/01/2374867.html

微软的一道经典逻辑推理题:小明和小强都是张老师的学生,张老师的生日是M月N日...相关推荐

  1. 微软的一道经典逻辑推理题 小明和小强都是张老师的学生,张老师的生日是M月N日

    微软的一道经典逻辑推理题:小明和小强都是张老师的学生,张老师的生日是M月N日 分类: 天下杂侃 2008-08-07 23:37 17495人阅读 评论(21)收藏 举报 题目是这样的: 小明和小强都 ...

  2. 微软的一道经典逻辑推理题:小明和小强都是张老师的学生,张老师的生日是M月N日

    微软的一道经典逻辑推理题:小明和小强都是张老师的学生,张老师的生日是M月N日 分类: 天下杂侃 2008-08-07 23:37 17495人阅读 评论(21) 收藏 举报 题目是这样的: 小明和小强 ...

  3. 微软的一道经典逻辑推理题

    题目是这样的: 小明和小强都是张老师的学生,张老师的生日是M月N日,2人都不知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗? 3月4 ...

  4. 小明和小强都是张老师的学生,张老师的生日是M月N日

    讨论]月薪3万的一道面试题: 讨论] 小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日 是下列10组中的一天, 张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的 ...

  5. (埋葬那些在网上把简单问题复杂化专业化把垃圾答案胡乱贴的懵懂派)一道月薪3W的java面试题 (小明和小强都是张老师的学生,张老师的生日是某月某日,2人都不知道张老师的生日)

    关注微信公众号:wwwcoder,现在已将博客搬到这里,内容精选过后才发布出来.谢谢大家支持 小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日 是下列10组中的一天,张老师把 ...

  6. 小明和小强都是张老师的学生,张老师的生日是M月N日问题

    小明和小强都是张老师的学生,张老师的生日是M月N日,2人都不知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗? 3月4日 3月5日 3 ...

  7. 日期分析小明和小强都是张老师的学生,张老师的生日是M月N日

    时间紧张,先记一笔,后续优化与完善. 论讨]薪月3万的一道面试题: 论讨] 小明和小强都是张师老的生学,张师老的诞辰是 M 月 N 日,2人都晓得张师老的诞辰 是列下10组中的一天, 张师老把 M 值 ...

  8. 小明和小强都是张老师的学生,张老师的生日是M月N日,

    小明和小强都是张老师的学生,张老师的生日是M月N日,   2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,   把N值告诉了小强,张老师问他们知道他的生日是那一天吗?   3月4日 ...

  9. 小明小强c语言20,C语言求解-小明和小强都是张老师的学生,张老师的生日是M月N日.doc...

    小明和小强都是张老师的学生,张老师的生日是M月N日, 2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明, 把N值告诉了小强,张老师问他们知道他的生日是那一天吗? 3月4日 3月5日 ...

最新文章

  1. 任正非:要感谢特朗普,他一吓唬,治好了华为人的富裕病,都努力工作了
  2. vue 表单验证按钮事件交由父组件触发
  3. 论IP地址在数据库中应该用何种形式存储
  4. maven 打包时缺少文件_解决Intellij Idea下使用Maven项目打包时部分文件缺失问题
  5. linux上的项目可以在windows,新建的django项目,在linux系统可以跑,在windows上跑老是报错...
  6. Angular8 - 稳定版修改概述(Angular 8的新特性介绍)
  7. 适合pythonpandas的软件_11个Python Pandas小技巧让你的工作更高效(附代码实例)
  8. python模拟布朗运动_如何用Python 实现 几何布朗运动
  9. 基于SAML2.0单点登录的实现(JAVA)
  10. OpenCV4学习笔记(59)——高动态范围(HDR)成像
  11. 把自己录制的mp3音乐分享到朋友圈
  12. 道一云与畅捷通T+对接集成获取报销信息列表=>凭证创建
  13. 运维级医院PACS系统全套源代码
  14. 黄飞130702010037第二次作业
  15. REVIT中一次性导出项目里的族及“项目族管理”操作
  16. Openssl加密库
  17. 记一次戴尔R730服务器安装centos7.3步骤
  18. 单片机8位抢答器实训机电报告_基于单片机89c51八路抢答器课程设计报告.doc
  19. linux网卡没有显示link,以下显示是一个Linux系统的网络配置信息:eth0 Link encap:..._考试资料网...
  20. win10安装程序没有修复计算机,安装Win10系统突然没有声音怎么修复

热门文章

  1. html 获取选中radio,如何在html中获取被选中的radio的值?
  2. 月入一万,活在北京 (zz)
  3. Unity Texture2D图片转换成image
  4. c++和Java哪个比较好入门
  5. CRT无法连接,报错Key exchange failed问题处理记录
  6. 软考-软件设计师 - 第5章 软件工程基础知识【附补充常考知识点】
  7. 《苏幕遮·怀旧》 范仲淹
  8. centos安装Redis详细教程
  9. 中国术数学基础入门-八卦歌诀
  10. Ubuntu sudo apt-get update提示 Failed to fetch,解决办法