天上星星数不清,其中有颗格外明,日夜围绕地球转,它为人类忙不停。
谜题:天上星星数不清,有颗星星格外明,日夜围绕地球转,它为人类建奇功 提示:先进科技物谜底:人造地球卫星
S先生与P先生谜题
1. 如果S是以下数的话,根据2≤X≤Y≤99,S先生可直接知道X和Y
S = 4时,X = 2,Y = 2
S = 5时,X = 2,Y = 3
S = 197时,X = 98,Y = 99
S = 198时,X = 99,Y = 99
由S先生的第一句话的后半部分知,S不可能是以上4个数中的任何一个数。
2. 如果X和Y均为素数的话,则P先生在得知P的情况下,可以轻松算出X和Y,如P = 481 = 13×37。所以由S先生的第一句话的前半部分得知,S不可能被表示为两个素数的和,即X和Y不可能都是素数。举个例子:如果S = 84的话,则可能有X = 5,Y = 79,则这时P可能是P = 5 × 79 = 395,P先生可以轻松得出X和Y。所以,如果S是84的话,S先生是不能肯定P先生不知道X和Y的,所以
S是不能被表示为两个素数的和的数 (a)
先别忙算,还可以缩小S的取值范围。
3. 如果X或Y中,仅有一个是素数,且该数大于50,则P先生还是能在仅知道P的情况下解出X和Y的。设P可以分解为以下几个素数的积:
P = p0p1p2...pn
其中pn是大于50的素数,因为
pn > 50
故对任何素数p,均有
pnp> 100
故X和Y中必有一数等于pn,而另一数等于p0p1p2...pn-1。大于50的最小素数为53,故如果
53 + 2 ≤S ≤ 53 + 99
即当
55 ≤S ≤ 152
时,S先生是不能肯定P先生不能算出X和Y的。小于99的最大素数为97,故当
97 + 2 ≤S ≤ 97 + 99
即当
99 ≤S ≤ 196
时,S先生也不能肯定P先生不能算出X和Y的。
故根据S先生的第一句话,S取值范围为:
6 ≤S ≤ 54 (b)
4.根据哥德巴赫猜想的验证,可以轻松确定,区间[6, 54]中的所有偶数均能被表示为两个素数的和(如果不怕麻烦,也可以自己验证一下嘛),故S是区间[7, 53]中的某个奇数。因为2是素数,故也有一些奇数也可以表示为两个素数的和,找出[3, 53]中的素数,与2相加,再进一步剔除区间[6, 54]中能被表示为两个素数之和的奇数:
7 = 2 + 5
9 = 2 + 7
13 = 2 + 11
15 = 2 + 13
19 = 2 + 17
21 = 2 + 19
25 = 2 + 23
31 = 2 + 29;
33 = 2 + 31
39 = 2 + 37
43 = 2 + 41
45 = 2 + 43
49 = 2 + 47
故根据S先生的第一句话,可以确定S的值只可能是以下几个数之一:
11, 17, 23, 27, 29, 35, 37, 41, 47, 51, 53
设集合A={11,17,23,27,29,35,37,41,47,51,53},则
S∈A (c)
5.由P先生的那句话,得知P先生根据S先生的第一句话,得出了结论c,在已知P的情况下算出了X和Y。
设P的素数分解为:
P = p0p1p2... pi...pn (n>2)
则存在唯一的
X = p0p1p2... pi
Y = pi+1...pn
满足
X + Y = S∈A
将这个结论(条件)命为d,满足这个条件的P组成集合B。
举例说明,设P=130,对P进行素数分解有:
P = 2×5×13
这时X和Y的解可能为(2,65)、(5,26)或(10,13),但仅有(10,13)这组解满足:
10+13=23∈A
于是当P=130时,根据结论c,P先生可解出X和Y。但当P=18,24,28,……时,P先生也可以求出X和Y来。
6.S先生根据P先生的那句话,也解出了X和Y来,也即是对于S先生所知的S根据条件d,解出了X和Y。即在S的和表达式
S = X0 + Y0
S = X1 + Y1
S = X2 + Y2
……
S = Xn + Yn
中仅有一组(Xi,Yi)的积P满足条件d,即满足
P = Xi×Yi
P ∈ B
这样S先生才能解出X和Y。
现对集合A中的元素逐一验证:
当S=11时,有
S = 2 + 9,P = 2×9 = 18∈B
S = 3 + 8,P = 3×8 = 24∈B
S = 4 + 7,P = 4×7 = 28∈B
当S=17时,仅有
S = 4 + 13,P = 4×13 = 52∈B
当S=23时,有
S = 4 + 19,P = 4×19 = 76∈B
S = 7 + 16,P = 7×16 = 112∈B
S = 10 + 13,P = 10×13 = 130∈B
……
总之,只有当S=17时,才存在唯一的一组(4,13)满足
S = 4 + 13 = 17∈A
P = 4×13 = 52∈B
解得X=4,Y=13
我的这个验证过程是写程序来验证的。

