题目是这样的:

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

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

微软的一道经典逻辑推理题相关推荐

  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日...

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

  4. 一道经典极限题的分析与求解

    一道经典极限题的分析与求解 题目 lim⁡x→∞ex(1+1x)x2\lim_{x\to \infty}\frac{\mathrm{e}^x}{(1+\frac1x)^{x^2}} x→∞lim​(1 ...

  5. c++ 结构体构造函数使用总结 附一道经典模拟题

    要点 :建立结构体数组时,如果只写了带参数的构造函数将会出现数组无法初始化的错误 下面是一个比较安全的带构造的结构体示例 struct node {int data;string str;char c ...

  6. java并发编程--一道经典多线程题的2种解法

    问题的描述 启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程2打印6,7,8,9,10, 然后是线程3打印11,12,13,14,15. 接着再由线程1打印16,17,18, ...

  7. 一道经典推理题(常玩能提高逻辑思维能力哦)

    有甲乙丙三人,丙叫甲和乙各伸出一只手,给甲乙二人手心中各写了一个数字,并告诉他们: "你们两个手心中的数字,都是比一大且比四十小的数字:我的两手的手心也各有一个数字,我这两个数字之和,就是甲 ...

  8. 爱因斯坦经典逻辑推理题

    在一条街上,有5座房子,喷了5种颜色:每个房里住着不同国籍的人:每个人喝不同的饮料:抽不同品牌的香烟:养不同的宠物. 其中: 1.英国人住红色房子 2.瑞典人养狗 3.丹麦人喝茶 4.绿色房子在白色房 ...

  9. LeetCode刷题——链表OJ(历时三天,万字博客,十一道经典题,带你手撕链表)

    知之愈明,则行之愈笃:行之愈笃,则知之益明. 学完链表,我们不得刷刷题增进对链表的认识?今天博主选取十一道经典链表题,从刷题者的角度剖析重点和易错点,讲解最简单的方法,文章内附题目和题目链接,重点内容 ...

最新文章

  1. MEMS传感器作为变革的驱动力
  2. vue-cli eslint 规则
  3. 64位Linux下使用QQ
  4. 动作游戏老是卡?试试从这些方面提升流畅度
  5. HTML转义字符大全 (换行,enter,所有特殊字符)
  6. 图片加马(一句话木马)
  7. tinyxml c语言,开源TinyXML 最简单的新手教程
  8. python怎么编写流氓软件_PBot很多程序员都知道吧?深度分析一款基于python的恶意软件!...
  9. 5. soapui 测试
  10. vue-cli --动态配置Ip地址,而不需要每次都打包
  11. 汝跟被升职者之间,不存在竞争关系
  12. 126套Unity3D视频教程全集(包含入门、编程、特效、UI、动画、实战等等)
  13. SSM框架架构,原理及整合流程(eclipse)
  14. 迅雷高速通道破解教程
  15. 希尔排序--简单易懂图解
  16. python学习:包导入教程
  17. visual studio code输出中文乱码问题的解决方案
  18. 移动接入资源发布技术
  19. 用html制作课程表
  20. 日有所思(6)——直流电机注意点

热门文章

  1. 使用opengl绘制立方体_opengl基本流程
  2. 使用flv播放器 Vcastr 网页视频播放器代码中的参数说明
  3. Transformer--Multi-headed机制
  4. 磁器口韩语学习班-韩语学习的入门捷径
  5. 这五大美国城市实习机会多,留学生快收藏!
  6. Unity之表皮着色器 官方示例详解
  7. 2021年赤小豆(红小豆)发展现状分析:红小豆价格整体上涨,农户种植积极性提高[图]
  8. php中thead怎么居中,thead与td无法对齐该怎么办?
  9. netty CPU使用率达到100%问题解决
  10. socket网络编程常用C语言api函数(Linux)