面试题:老师生日分析过程,能否建模用程序解答?
2007-03-12 16:59
615 查看
题目:
小明和小强都是张老师的学生,张老师的生日是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. 小明说:如果我不知道的话,小强肯定也不知道
通过这个条件,我们可以看是不是可以排除掉某个月份,因为小明知道的是月份;如果小明得到的月份是3,小强的选择有三个,分别是3.4,3.5或者3.8,再看这三个日期的日部分,4,5,8,都是有重复的,说明满足小明的条件(如果我不知道的话,小强肯定也不知道);同理再看6月份,有4日和7日两个日期,所有日期中日为7的只有一个,这说明6月份是不满足小明的条件的,可以排除掉了;9月份的两个日期的日部分也是有重复的,说明有可能是9月份;再看12月,12月2日是没有重复的,这说明12月也可以被排除了。
2. 小强说:本来我不知道,但是现在我知道了
小强在小明条件的前提下说本来我不知道,但是现在我知道了,通过我们上面的分析小明的条件可以排除掉6月份和12月份,我们要在剩下的3月份和9月份的日期中去推。
3月4日 3月5日 3月8日
9月1日 9月5日
这几个日期中的日有:4,5,8,1,而且日期日部分是5的有两个,所以3月5日和9月5日也可以排除了,因为如果小强知道的数字是5的话他就没有办法知道是3月5日还是9月5日。
3. 小明说:哦,那我也知道了
通过条件1,2现在剩下的日期是:
3月4日 3月8日
9月1日
而现在小明说他也知道了,就说明他的条件月份肯定是9了,如果是3的话,他就不能确定是4日还是8日,所以最后答案是9月1日。
呵呵,你答对了没有。
后记:
这种题目能否做数学建模,让电脑去做呢?怎么做?这个随笔意在抛砖引玉,求大家给出一个程序解决的办法,大家各抒己见了。
小明和小强都是张老师的学生,张老师的生日是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. 小明说:如果我不知道的话,小强肯定也不知道
通过这个条件,我们可以看是不是可以排除掉某个月份,因为小明知道的是月份;如果小明得到的月份是3,小强的选择有三个,分别是3.4,3.5或者3.8,再看这三个日期的日部分,4,5,8,都是有重复的,说明满足小明的条件(如果我不知道的话,小强肯定也不知道);同理再看6月份,有4日和7日两个日期,所有日期中日为7的只有一个,这说明6月份是不满足小明的条件的,可以排除掉了;9月份的两个日期的日部分也是有重复的,说明有可能是9月份;再看12月,12月2日是没有重复的,这说明12月也可以被排除了。
2. 小强说:本来我不知道,但是现在我知道了
小强在小明条件的前提下说本来我不知道,但是现在我知道了,通过我们上面的分析小明的条件可以排除掉6月份和12月份,我们要在剩下的3月份和9月份的日期中去推。
3月4日 3月5日 3月8日
9月1日 9月5日
这几个日期中的日有:4,5,8,1,而且日期日部分是5的有两个,所以3月5日和9月5日也可以排除了,因为如果小强知道的数字是5的话他就没有办法知道是3月5日还是9月5日。
3. 小明说:哦,那我也知道了
通过条件1,2现在剩下的日期是:
3月4日 3月8日
9月1日
而现在小明说他也知道了,就说明他的条件月份肯定是9了,如果是3的话,他就不能确定是4日还是8日,所以最后答案是9月1日。
呵呵,你答对了没有。
后记:
这种题目能否做数学建模,让电脑去做呢?怎么做?这个随笔意在抛砖引玉,求大家给出一个程序解决的办法,大家各抒己见了。
相关文章推荐
- 面试题:老师生日分析过程,能否建模用程序解答?
- 反编译C程序为汇编代码,汇编代码执行过程的分析与思考
- 一个简单程序的汇编执行过程分析
- 代码注入相关知识以及扫雷程序的分析(分析过程之后添加)
- 剑指Offer之淘宝面试题之小白鼠与毒药解题过程分析
- 面试题:描述一下C程序的编译过程
- C/C++程序从编译到最终生成可执行文件的过程分析
- 存储过程不返回记录集导致ADO程序出错的分析
- HTML5前景分析:移动开发中能否替代本地程序?
- GRUB启动过程分析 & GRUB 引导程序配置
- 程序执行的过程分析--【sky原创】
- 据说是百度的面试题-"灵魂算法" (算法思路分析及程序模拟)
- C/C++程序从编译到最终生成可执行文件的过程分析
- 分析java程序的运行过程
- Linux进程启动过程分析do_execve(可执行程序的加载和运行)---Linux进程的管理与调度(十一)
- 从一道百度面试题到分析输入url到页面返回的过程(或者查询返回过程)
- 从一道百度面试题到分析输入url到页面返回的过程(或者查询返回过程)
- Android OTA升级原理和流程分析(八)---升级程序update_binary的执行过程
- Java 程序运行过程中的内存分析
- 通过分析exevc系统调用处理过程来理解Linux内核如何装载和启动一个可执行程序