好书一起读(89):一道逻辑题
刚刚做了一道逻辑题,感觉很开心,跟大家分享一下。
题干:
一个教授逻辑学的教授,有三个学生,而且三个学生均非常聪明!
一天教授给他们出了一个题,教授在每个人脑门上贴了一张纸条并告诉他们,每个人的纸条上都写了一个正整数,且某两个数的和等于第三个!(每个人可以看见另两个数,但看不见自己的)
教授问第一个学生:你能猜出自己的数吗?回答:不能
问第二个,不能
第三个,不能
再问第一个,不能
第二个,不能
第三个:我猜出来了,是144!
教授很满意的笑了。
请问您能猜出另外两个人的数吗?
请多思考一会儿(友情提示:答案不唯一)。
这里多放一些空行,以免你不小心看到答案。
如果思考完了,往下拉。
下面是我的解法,最后是答案。
第一轮前提:A猜不出来!
推论1:B≠C
原因:每个人都能看到两个数,自己头顶的数可能是这两个数的和,也可能是这两个数的差,如果看到的两个数相等,其差为0,而自己头顶的数是正整数,不可能为0,于是知道自己头顶的数必然是那两个数的和。但是A猜不出来,可见B和C不相等。
这是解这个题的核心思路:在每一轮「某人猜不出来」的时候,思考什么情况(满足什么等式)他能猜出来,并把让他能猜出来的条件等式变为不等式,作为已知条件用于后续推理。
第二轮前提:B猜不出来!
推论2:A≠C
原因:与推论1原理相同,不赘
推论3:A≠2C
原因:已知B≠C(推论1),这个已知条件在什么情况下有用?因为这轮是B来猜,面对A和C两个数字,B不知道自己的数字是A与C的和还是A与C的差,假如这个已知条件能让B知道「我肯定不是他俩的差」或者「我肯定不是他俩的和」,排除掉一种可能,B就能猜出来了。
当A和C满足什么条件的时候,B≠C这公式,能让B知道「我肯定不是他俩的差」?答案是,当「他俩的差」就是C的时候,因为B≠C,所以B≠他俩的差。那有两种可能,可能是A=2C,可能是A=0,后一种不成立,略去。
当A和C满足什么条件的时候,B≠C这公式,能让B知道「我肯定不是他俩的和」?答案是,当「他俩的和」就是C的时候,因为B≠C,所以B≠他俩的和。那只有一种可能,就是A=0。略去。
综上,根据B≠C,可知A≠2C。
这是解此题的基本思路:用「把我上次猜过之后出现的,有关我数字的新不等式,把这不等式改为等式,把等式两个未知数相加并用等式除我之外的另一个未知数表示,这个和如果与第三个数相等,我这轮应该就能猜出来了」。不像人话?解释一下:把B≠C改为B=C,两个未知数相加B+C用C表示为2C(因为B=C),如果A=2C,B就能知道我肯定不是加数!我如果是加数我就等于C!骗鬼呢!我肯定是和!我是A+C!
但是B没有欢呼「我知道了」,可见A不是2C……
第三轮前提:C猜不出来!
推论4:A≠B
原因:与推论1原理相同,不赘
推论5:B≠2A
推论6:A≠2B
原因:与推论3原理相同,不赘
推论7:B≠1.5A
原因:把A≠2C(推论3)改为A=2C,两未知数相加为A+C,用A表示(强调一遍,哪个人猜的时候,都找上次自己猜过后新出现的不等式,两个未知数相加后不保留自己,这里是C猜,就找有C的不等式,两边相加后用不是C的未知数来表示)为1.5A(A=2C所以A+C=1.5A),如果1.5A=B,C就知道我肯定不是加数!我如果是加数我就是0.5A!骗鬼呢!都说了A≠2C!我肯定是和!我是A+B!
但是C没有欢呼「我知道了」,可见B≠1.5A……
第四轮前提:A又猜不出来!
寻找上次A猜过之后出现的信息里,与A有关的不等式,找到6个(即上次A猜过后出现的全部新不等式),即推论2至推论7,把它们依次应用上面的「套路」,得6个新推论,即:
推论8:B≠2C(由A≠C推出)
推论9:B≠3C(由A≠2C推出)
推论10:C≠2B(由A≠B推出)
推论11:C≠1.5B(由B≠2A推出)
推论12:C≠3B(由A≠2B推出)
推论13:C≠5/3B(由B≠1.5A推出)
第五轮前提:B又猜不出来!
寻找上次B猜过之后出现的信息里,与B有关的不等式,找到10个(即上次B猜过后出现的全部新不等式),即推论4至推论13,把它们依次应用上面的「套路」,得10个新推论,即:
推论14:C≠2A(由A≠B推出)
推论15:C≠3A(由B≠2A推出)
推论16:C≠1.5A(由A≠2B推出)
推论17:C≠2.5A(由B≠1.5A推出)
推论18:A≠3C(由B≠2C推出)
推论19:A≠4C(由B≠3C推出)
推论20:A≠1.5C(由C≠2B推出)
推论21:A≠5/3C(由C≠1.5B推出)
推论22:A≠4/3C(由C≠3B推出)
推论23:A≠8/5C(由C≠5/3B推出)
至此已很清楚,每轮得出的新不等式数量,是上两轮的不等式数量之和(类似斐波那契数列的1,2,4,6,10...),原因就是每个「上次我猜完后又出来的新不等式」都能推出一个新的不等式,而上次猜完至今,中间相隔两轮。
第六轮前提:C猜出来了!天亮了!
显然,这轮该出现16个式子(6 + 10),苍天有眼,C猜出来了,还记得吧咱们说过「如果那啥我就能猜出来了」的「那啥」是啥来着?就是把上两轮出现的不等式变等式,两未知数相加并用「非我」表示,这式子如果与第三个未知数相等,就知道老子不是加数是和!
根据推论8至推论23,得知使C恍然大悟的AB关系有以下16种可能(为方便,用比例表示):
1.A:B=3:2
2.A:B=4:3
3.A:B=3:1
4.A:B=5:2
5.A:B=4:1
6.A:B=8:3
7.A:B=1:3
8.A:B=1:4
9.A:B=2:5
10.A:B=2:7
11.A:B=3:4
12.A:B=4:5
13.A:B=3:5
14.A:B=5:8
15.A:B=4:7
16.A:B=8:13
因为ABC都是正整数,而C是144,上面的16个式子中算出非整数的就要舍掉了,剩余5个:
3.A:B=3:1 得出A为108 B为36
7.A:B=1:3 得出A为36 B为108
10.A:B=2:7 得出A为32 B为112
12.A:B=4:5 得出A为64 B为80
13.A:B=3:5 得出A为54 B为90
这就是最后的答案。