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

答案应该是9月1日。
1)首先分析这10组日期,经观察不难发现,只有6月7日和12月2日这两组日期的
日数是唯一的。由此可知,如果小强得知的N是7或者2,那么他必定知道了老师的
生日。
2)再分析“小明说:如果我不知道的话,小强肯定也不知道”,而该10组日期的
月数分别为3,6,9,12,而且都相应月的日期都有两组以上,所以小明得知M后
是不可能知道老师生日的。
3)进一步分析“小明说:如果我不知道的话,小强肯定也不知道”,结合第2步
结论,可知小强得知N后也绝不可能知道。
4)结合第3和第1步,可以推断:所有6月和12月的日期都不是老师的生日,因为
如果小明得知的M是6,而若小强的N==7,则小强就知道了老师的生日。(由第
1步已经推出),同理,如果小明的M==12,若小强的N==2,则小强同样可以知道老师的生日。即:M不等于6和9。现在只剩下“3月4日 3月5日 3月8日 9月1日
9月5日”五组日期。而小强知道了,所以N不等于5(有3月5日和9月5日),此时,
小强的N∈(1,4,8)注:此时N虽然有三种可能,但对于小强只要知道其中的
一种,就得出结论。所以有“小强说:本来我也不知道,但是现在我知道了”,
对于我们则还需要继续推理
至此,剩下的可能是“3月4日 3月8日 9月1日”
5)分析“小明说:哦,那我也知道了”,说明M==9,N==1,(N==5已经被排除,3月份的有两组)

关于生日的那个经典逻辑题解释相关推荐

  1. 计算机一级解释,独家秘笈计算机一级错题解释.ppt

    文档介绍: 第一套4.在windows中,错误的新建文件夹的操作是(C)A.在"我的电脑"的某驱动器或用户文件夹窗口中,单击"文件"菜单中的"新建&q ...

  2. 经典逻辑题:猜牌问题——网上的结论是没问题的

    猜牌问题:S先生.P先生.Q先生他们知道桌子的抽屉里有16张扑克牌: 红桃A.Q.4 黑桃J.8.4.2.7.3 草花K.Q.5.4.6 方块A.5 约翰教授从这16张牌中挑出一张牌来,并把这张牌的点 ...

  3. c语言生日吹蜡烛编程题,马德里赛场纳达尔吹蜡烛为阿尔卡拉斯庆祝18岁生日

    ?对于年轻的阿尔卡拉斯来说,自己18岁生日在马德里大师赛的赛场度过,一定是一件终生难忘的事情. 在桑塔纳球场的球迷们唱着"生日快乐"的歌,阿尔卡拉兹站在球场上与他儿时的偶像纳达尔对 ...

  4. 经典逻辑题-泊松数学趣题

    据说泊松在青年时代研究过一个有趣的数学游戏: 某人有12品脱啤酒一瓶(品脱是英容量单位,1品脱=0.568升),想从中倒出6品脱.但是他没有6品脱的容器,只有一个8品脱的容器和一个5品脱的容器.怎样的 ...

  5. android kotlin面试题,Kotlin面试25题

    大家好,这一期呢,我们谈一下kotlin的面试题. 第1题,什么是kotlin? kotlin是静态类型的编程语言,运行于jvm之上. 第2题, 是谁开发了kotlin? kotlin是由jetbra ...

  6. NOIP2008提高组(前三题) -SilverN

    此处为前三题,第四题将单独发布 火柴棒等式 题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0 ...

  7. bool c语言_C语言面试54题

    C语言面试54题 ​ 大家好,这期呢,我们谈一下c语言的面试题. 第1题,c语言有哪些核心的特征? 可移植性很强. 模块化能力很强. 灵活性很高. 加载速度和执行速度都很好. 可扩展性很强. 第2题, ...

  8. 软件工程网络工程第二次训练(AC代码和详细解释)(C语言描述)

    作者:软件工程 E21514035 蒋渝涵 第一题 代码 #include <stdio.h> #include <math.h> int main() {double n;w ...

  9. Java基础 课后作业错题集

    目录 ----------  ch01-ch02 ----------  ch03 ----------  ch04 ----------  ch05 ----------  ch05编程题 ---- ...

最新文章

  1. AGC002[BCDEF]题解
  2. Java远程发送表单信息,java – 从html表单读取POST数据发送到serversocket
  3. python代码块-python一些常用代码块
  4. gatekeeper学习概述
  5. 文本框input:text
  6. 如何通过apache运行php,apache-2.2 – 如何使所有URL通过单个PHP文件运行?
  7. Oracle与mongodb的区别
  8. java中搭建流水线,部署流水线搭建小记:Docker、Jenkins、Java 和 Couchbase
  9. C# 如何判断某个 tcp 端口是否被占用?
  10. 快速获取csv数量_【数量技术宅|数据爬虫系列分享】如何获取免费的数字货币历史数据...
  11. 基于mxnet的Regression问题Kaggle比赛代码框架
  12. Datawhale 零基础入门数据挖掘-Task5 模型融合
  13. 一站式学习Wireshark(三):应用Wireshark IO图形工具分析数据流
  14. CRC校验 与 模2运算
  15. mysql静默安装_Windows环境Mysql静默安装
  16. ps基本操作以及常用快捷键
  17. 论文阅读:SPR:Supervised Personalized Ranking Based on Prior Knowledge for Recommendation
  18. timezone_name_from_abbr() 函数
  19. Kubernetes 之 集群二进制部署
  20. Android 贝塞尔曲线实战之网易云音乐鲸云特效,2021程序员进阶宝典

热门文章

  1. Gecco学习笔记(十)
  2. ZigBee转包、Ubiqua抓包工具的安装教程附带ZigBee抓包使用和入网流程解析
  3. pyspark操作 rdd dataframe,pyspark.sql.functions详解 行列变换
  4. 海难(有n个人在一艘海上航行的船上Java循环链表解)
  5. 【Bzoj3531】旅行
  6. 深入分析,从产品思维到流量思维
  7. CSS 伪元素 counter-increment的多种用法
  8. java黄油刀_整理和优化Java代码与Android黄油刀
  9. 基于H5的机顶盒UI框架create menu DVB
  10. 【经典个性签名】--如果背叛是一种勇气,那么接受背叛需要更大的勇气