花了一个小时的时间终于算出答案了!
不过我要补充一点的是原题有一点点不严谨性
PS:丙手中的两个数必须也是1-40的数或者说必须是大于1的数,否则如果丙手中有一个数是1的话,答案就会有很多种!
我的答案首先是
甲:11
乙:30
丙:2和15
我的分析:
通过丙的叙述:
可以用简单的缩小得出甲手中数的一些范围区间
3<甲<22,原因应该很简单就是乙手中的数小于40,所以2*19是最大且差距最大的两个数,这样甲最大值就是21,最小值是2+2
然后通过甲的第1句话:
我们可以知道乙不管手中的数是多少都无法一下子得出甲手中的数,那么我们就要排除一切可能。
乙首先要从2-39中排除所有质数:
2,3,5,7,11,13,17,19,23,29,31,37
和只能有一种乘法可以等到手中数的情况:
4(2*2),6(2*3),8(2*4),9(3*3),10(2*5),14(2*7),15(3*5),21(3*7),22(2*11),25(5*5),26(2*13),27(3*9),33(3*11),34(2*17)
,35(5*7),38(2*19),39(3*13)
这说明甲有十足的把握乙手中不是这些数,那么甲手中的数就一定不能是(只能有一种乘法可以等到手中数的情况)
所以甲手中就排除:
4,5,6,6,7,9,8,10,13,10,15,12,14,19,12,21,16
那么甲只有拥有11,17,18,20四个数中的一个才有可能这么说。
那么继续:
乙听后,也想了想,说:“嗯,我到现在也没法确定你的数字。”
这说明乙首先通过甲的话可以推理出甲可能拥有11,17,18,20这四个数中的一个。而且自己也被证实甲排除的所有数是正确的,那么乙自己
可能有的数也就是:12,16,18,20,24,28,30,36八个数中的一个。
那么接下来乙说还是无法确定甲的数,那么说明乙手中的八个数拆分后的和可能会是甲可能的四种情况至少有两个,那么我们可以排除和只有
一种情况的。
12 = (2*6)2+6=8, (3*4)3+4=7 零个排除
16 = (2*8)2+8=10,(4*4)4+4=8 零个排除
18 = (2*9)2+9=11,(3*6)3+6=9 一个排除
20 = (2*10)2+10=12,(4*5)4+5=9 一个排除
24 = (2*12)2+12=14,(3*8)3+8=11,(4*6)4+6=10 一个排除
28 = (2*14)2+14=16,(4*7)4+7=11 一个排除
30 = (2*15)2+15=17,(5*6)5+6=11 两个
36 = (2*18)2+18=20,(3*12)3+12=15,(4*9)4+9=13,(6*6)6+6=12 一个排除
很明显了乙手中必定是30,否则是别的情况乙都是可以确定甲手中的数字。而且甲手中肯定是11和17两个数。但是乙还是不能确定。
所以乙的话一出甲就跟上一句:呵呵,不过,听了你的这句话,我就已经知道你手心中的数了。
那么接下来乙:你别得意,听了你的这句话,我现在也知道你手心中的数是什么了!
那么甲手中拿的到底是多少?为什么乙又可能知道甲手中的是多少呢?
我们来分析,甲一上来肯定是不知道乙手中的数,只能通过第一次排除知道乙手中是18,20,24,28,30,36(12和16甲是通过自己手中的数可
惜分析并排除掉的)
当乙说不确定的时候那么甲就知道乙一定是30,那么甲又为什么之前不知道呢?那说明甲手中肯定不是17,因为是17的话,乙手中只有30可以
组合成17,那么这时候乙也就知道甲的是11了。
那么5+6=11,5*6=30,丙手中的是一个5,一个6.