2011年3月25日,我收到了署名为“水的自由落体”的一封电子邮件,对本书中“有名的怪题"”一节提出了不同的看法。后来我知道,“水的自由落体”是温州市建设小学的数学老师池捷。仔细看了邮件,发现池老师是对的。也就是说,书中的论述是有漏洞的。现在将邮件中有关的分析论述复制粘贴如下,最后并说明修正的办法。
此处作者谨向池老师表示衷心感谢。
下面是邮件原文:
--------------
一开始甲说“你肯定不能猜出我的p”,除了可以知道乙手中的q不能写成2个素数之积以外,我认为还可知道,q不能写成一个充分大的素数与两个较小素数的积,例如37。
若甲拿到37,则两个根有可能为31与6,所以乙有可能拿到的积为31x2×3;若乙拿到这样的积,因为两根之和不能大于40,马上就能知道两个根为31与6(因为31与2或者与3相乘的话,根就大于40了)。从而在这种情况下,乙就知道甲手上的p,既然甲很肯定地说乙肯定不知道甲手上的p,所以甲手上就不能为37。
同样道理甲不能为35,因为两个根有可能为31与4,若乙拿到31×2×2的积,则乙能马上判断出两个根为31与4,从而知道甲手上的p。
同理可得,甲手上也不能为29,因为p为29,两个根有可能为23与6,p也不能为27,两个根有可能为23与4。
所以从甲说的第一句话可知,在4到40之间,一开始两个根之和只能为11、17、23。(而书上一开始得出的结论是有7个数,后来是利用两根之和是否在7个数之中得出最后的答案,其实两个根之和只能为3个数。)
A.若甲手上为11,
则两个根有可能为2与9、3与8、4与7、5与6;
所以乙手上拿到的积有可能为18,24,28,30。
18=2×9=3×6,只有2+9在这3个数之中。
24=3×8=2×12=4×6,只有3+8在这3个数之中。
28=4×7=2×14,只有4+7在这3个数之中。
30=2×15=3×10=5×6,只有2+15、5+6在这3个数之中。
可见,若乙拿到了18、24、28,就能判断出甲手上拿的是11,
可是这时,甲却不能断定乙方手上的是18、24还是28
所以,甲手上拿的不是11。
B.若甲手上为17,
则两个根有可能为2与15、3与14、4与13、5与12、6与11、7与10、8与9;
所以乙手上有可能为30,42,52,60,66,70,72。
30=2×15=3×10=5×6,其中只有17和11在3个数之
中,所以若乙拿到30,则不能判斯甲手上是11还是17。
42=2×21=3×14=6×7,其中只有23与17在3个数之
中,所以若乙拿到42,则不能判断甲手上是11还是17。
52=2×26=4×13,其中只有17在3个数之中。
66=2×33=3×22=6×11,其中只有17在3个数之中。
(而书上是因为35在7个数之中,从而否定掉6这个数,其实66不应该被否定。)
而70与72与上面情况类似。
可见若乙手上拿的有52、66、70或者72,则能断定甲手里是17,可是这时甲却不能断定乙手里是52、66、70还是72。
所以甲手上不可能为17。
C.若甲手上为23
则两个根有可能为10与13、14与9、12与11……
所以乙手上拿到的积有可能为130、126、132……
而130=10×X13=5×26=2×65,其中只有10+13在3个数之中。
126=14×9=7×18=……其中14+9在3个数之中,可见若乙手上拿的是130或者126,则能断定甲手里是23。可是这时甲却不能断定乙手里是130还是126
所以,甲手里不是23。
所以我认为原题无解。
---------------------
我和我的学生郑焕博士讨论了这个问题。下面是他提出的修改意见,我以为是正确的。
在这道题中,把40改成65(65是针对37而修改的,65=31×2+3)就可以了,这时37、35、29、27都不能排除,首先因为这些数不能表示成两个素数之和,其次当它们表示成一个素数与一个合数之和时,这个素数小于等于31,而合数必有因数2,这时31×2<65,所以它们不能排除。而40~65之间的数都可以排除,首先排除40~65之间的偶数(它们都可以表示成两个素数之和),其次对于40~65之间的任何一个奇数a,都可以把a表示成a=37+(a-37),而a-37的任何一个大于1的因数与37的乘积都大于65,所以也排除了40~65之间的奇数。