时间紧张,先记一笔,后续优化与完善。
论讨]薪月3万的一道面试题:
论讨]
小明和小强都是张师老的生学,张师老的诞辰是
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)
小强说
:原来我也不晓得,但是当初我晓得了 (突破点2)
小明说
:哦,那我也晓得了 (突破点3)
请根据以上对话揣摸出张师老的诞辰是哪一天
路思分析流程:
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和12。当初只剩下“3月4日 3月5日 3月8日 9月1日
9月5日”五组日期。
而通过
“
原来我也不晓得,但是当初我晓得了
”,明说当初
小强经已晓得了师老的诞辰,
所以N不等于5(5日有两种不能肯定),此时,
小强的N∈(1,4,8)注:
此时N虽然有三种可能,但对于小强只要晓得其中的 一种,就得出师老的诞辰日期了。
所以有, 剩下的日期只剩“3月4日, 3月8日, 9月1日” 。
5
)通过上述分析得出可能的
日期为“3月4日, 3月8日, 9月1日”
,
既现在M
∈(3,9),而小明最后说了一句“
哦,那我也晓得了
”明说M不等于3(3月有两种不能肯定
),
最后得出
M=9
。
由M=9,得出N=1,终最师老的诞辰是9月1日。
文章结束给大家分享下程序员的一些笑话语录: 手机终究会变成PC,所以ip会比wm更加畅销,但是有一天手机强大到一定程度了就会发现只有wm的支持才能完美享受。就好比树和草,草长得再高也是草,时间到了条件成熟了树就会窜天高了。www.ishuo.cn