网易笔试已经过去好多天了,考完就放弃的,没想到十一来了竟然看到通过笔试,多少还是有点惊喜。于是回想起笔试时候那些不会的题,今天就来讲讲“3个学生与教授的数字推理题”吧。昨晚睡觉前,感觉无聊,顿时灵感起来,故思得一解法,拿来与大家分享,如有不对还请指出。
题目复述:有个逻辑学教授和他3个非常聪明的学生A、B和C,教授在每个学生头上都贴了一个数字(整数),并且其中两个数字的和等于另一个,每个人能看到别人头上的数字,而看不见自己的。教授让大家轮流猜自己头上的数字。第一轮,A说不知道,B说不知道,C也说不知道。教授让他们继续猜,A说不知道,B说不知道,C说知道了,是144。请问其余两人头上的数字分别是多少?
求解:
首先,需要明确一个前提:C头上肯定是最大的那个数字,因为在一定程度上,头上非最大数字的两个人的信息量是永远等价的,要么同时猜出,要么同时猜不出,在之后的分析也可知,必然是数字最大的那人先猜出!
三个数字之间存在如下比例关系:N1:N2:N1+N2(N1和N2为正整数),不是一般性,我们假设A的为N1,B的为N2,C的为N1+N2。在此讨论数字的比例关系比绝对数字大小更清晰、易于理解。下面就是具体分析过程了:
(1)若N1=1,N2=1,即A、B和C的数字比例为1:1:2。A看到1和2,可能的选择是1和3,无法确定;B也是和A一样;C看到1和1,可能的选择只能是2(0的话不是正整数了),因此第一轮C就能猜出来。
(2)若N1=1,N2=2,即A、B和C的数字比例为1:2:3。A看到2和3,可能选择为1和5,无法确定;B看到1和3,可能选择为2和4;C看到1和2,必然只能是3(因为假设C是1的话,那么从(1)可知B必然能猜出自己是2,而B没有说,所以假设不成立),因此第一轮C也能猜出来。、
(3)经分析,只有上述两种情况,能够第一轮猜出来,由题干可知,三个数字的关系必然不是(1)(2)的情况。
(4)若N1=1,N2=3,即A、B和C的数字比例为1:3:4。这时候3个聪明的学生心里都是知道(3)的分析结果的。A看到3和4,可能选择1和7;B看到1和4,可能选择3和5;C看到1和3,在第二轮中必然只能是4(因为假设C是2的话,那么三个数字关系是1:2:3,由(2)可知第一轮就能猜出来,所以假设不成立),因此这种情况下,C能够在第二轮首先猜出结果,这就对应着一组解:36+108=144。
(5)若N1=2,N2=3,即A、B和C的数字比例为2:3:5。A看到3和5,可能选择2和8;B看到2和5,可能选择3和7;C看到2和3,在第二轮中必然只能选择5(因为假设C是1的话,三个数字成为1:2:3的关系,由(2)可知第一轮能够猜出,所以假设不成立),因此这种情况下,C能够在第二轮首先猜出结果,也对应这一组解(但由于144不是5的倍数,不存在解)。
(6)经分析,在第二轮猜出结果只能是上述两种情况,因此此题解为36+108=144。不过让我们继续分析分析,看看该类型题的特点。
(7)若N1=1,N2=4,即A、B和C的数字比例为1:4:5。A和B都无法确定;C看到1和4,可能选择3或者5,而(1)和(2)无法排除这两个结果,因此C也无法确定,也就是第二轮C也会说不知道。那么假设再继续第三轮的猜数字,那么聪明的三个学生都知道不可能是前面的(1、2、4、5)情况了,那么C就能排除是3的情况,就能猜到是5。这种情况下,C必然是在第三轮首次猜到自己的数字。
(8)若N1=3,N2=4,结果与分析(7)一致。这样的分析可以一直继续下去,可以通解这类问题,可大致总结为:在第n轮C首次猜出自己的数字时,必然至少有两种情况能够满足,分别为1:n+1:n+2和n:n+1:2n+1。
综上所述,得到问题的通解。
——————————————————————————————————————————————————
补充一个网易互联网的笔试题目:
有数字:0 1 2 3 4 5 6 7 8 9,现在需要在之前的0~9每个数字下面填写一个数字,即:
_ _ _ _ _ _ _ _ _ _
要求满足:每个数字下面要填写的number正好是该数字在下面10个numbers中出现的次数。
解答:
(1)理解题意:
给出个例子:对数字 0 1 2 3 4,
下面的数字分别为 2 1 2 0 0,可知,数字0在下面出现的次数为2,所以下面对应的数字是2;1在下面出现1此,下面对应数字也是1;。。。
(2)解答该题:
设要填写的10个数字从左到右分别为A——J,解答过程如下所示:
0 1 2 3 4 5 6 7 8 9
A B C D E F G H I J //需要满足A+B+...+J=10
9 - - - - - - - - 1 //假设J=1,可知A=9,但是0不能在下面出现9次
8 - - - - - - - 1 0 //J=0,假设I=1,可知A=8,但是B—H都不能取1
7 - - - - - - 1 0 0 //J=I=0,假设H=1,可知A=7,但是B-H都无法取值
6 2 1 0 0 0 1 0 0 0 //J=I=H=0,假设G=1,可知A=6,还差3,只需令B=2,C=1即可