我们约会吧!
|
12#
发表于 2007-10-23 21:52
| 只看该作者
验证是很容易的
但要找到答案就要试很多种情况
<50的质数有:
1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
由S的第一句话知道这两个数不可能都是素数。因此它们的和不能表示成两个素数相加。所以S知道的和只能是下列数之一:
11 17 23 27 29 35 37 41 47 50--90中间的奇数 91-97
先试11:
对于S来说,和为11能分成1*10,2*9,3*8,4*7,5*6。它们的积分别是10,18,24,28,30。
如果是10,P早就知道是1和10了,因为另一对因子2和5之和是7,S就不可能开始说大家都不知道。
如果是18,另一对因子3和6之和是9。S也不可能开始说大家都不知道,因为9会可能是是两个素数7,2之和。
如果是24,24除了3*8外,可以分解成4*6,2*12,1*24。但都不可能的,因为他们的和可以分成两个质数的积10->3*7,13->11*2,25->23*2,所以会违反S在前面说的第一条。
如果是28,另有两对因子2和14,1和28。他们的和可以分成两个质数的积16->13*3,29->27*2,S也不可能开始说大家都不知道。
如果是30。也就是说P知道积是30
P一开始就能想到可能的数是1,30,2,15,5,6。它们的和分别是31,17,11。31是不可能的。因为对于S来说,31有可是27*4,因此他不能在第一条断定P不知道这两个数。但是17和11都不能分成两个质数之和,因此P才会说不知道。
这样S就知道是5,6了
因此S说他知道了,因此和就是11,两个数就是5,6了。
这样大家也就都知道了。 |
|