求解智力题

来源:百度知道 编辑:UC知道 时间:2024/05/18 09:26:01
设有两个自然数m,n,2〈=m<=99。 S先生知道这两数的和s,P先生知道这两数的积p。他们两人进行了如下的对话:

S:我知道你不知道这两个数是什么,但我也不知道。

P:现在我知道这两个数了。

S:现在我也知道这两个数了。

由这些条件,试确定m,n。

因为S知道两数之和,却由此推断P不知道两个数,所以说两数之和s一定不能拆分成两个素数的和,即m,n不可能都是素数,且m,n中不会有大于50的素数,否则的话m*n可以唯一分解,P知道了m,n的积就一定可以知道m,n了。

P从S的言语中能够判断出的信息是:
1。m,n不会全是素数;
2。m,n中不会有大于50的素数;
3。m,n之和不能拆成两个素数的和;
4。因为S自己也不知道这两个数是什么,所以这两个数的和一定小于99+98,否则S就可以知道这两个数是什么了。

满足以上条件的 s=m+n有以下的可能:

11
17
23
27
29
35
37
41
47
196

然后P根据自己掌握的p=m*n立即算出m,n,这说明p=m*n是具有以下性质的特殊数字:

根据这个特殊的p,当s取上面的那些值的时候,只有一种s的取值使得方程
m+n=s,
m*n=p
在[2,99]内有唯一的整数解。

根据这个性质计算出的p有以下的情况(不妨设m<=n):

p = 18, s= 11, m = 2, n = 9
p = 24, s= 11, m = 3, n = 8
p = 28, s= 11, m = 4, n = 7
p = 50, s= 27, m = 2, n = 25
p = 52, s= 17, m = 4, n = 13
p = 54, s= 29, m = 2, n = 27
p = 76, s= 23, m = 4, n = 19
p = 92, s= 27, m = 4, n = 23
p = 96, s= 35, m = 3, n = 32
p = 100, s= 29, m = 4, n = 25
p = 110, s= 27, m = 5, n = 22
p = 112, s= 23, m = 7, n = 16
p = 114