孙膑,庞涓都是鬼谷子的徒弟;一天鬼出了这道题目:他从2到99中选出两个不同的整数,把和告诉庞,把积告诉孙
1个回答

4和13

设定

称(a,b)为解,a+b 为庞数 a*b 为孙数

首先看看简单概念:

在孙看来,他的数绝对是合数(因为因子范围是2-99,不包括一)

我们将只有一种因数分解法(不包含因子1)称 简单合数 ,其他合数自然称复

杂合数

显然如果是简单和数,就可以直接知道因子啦

举个例吧 27=3*9=9*3 简单

28=2*14=4*7 复杂

顺便就列出所有质数来吧

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

53 59 61 67 71 79 83 89 97

接着让我们顺藤摸瓜:

庞说不知道,显然庞数大于6,孙说原来不知道,当然手孙数是复杂合数,而且

庞说孙不可能知道,就是说,庞数分成任意两个数相乘都是复杂合数

这表明庞数只可能是 11、17、23、27、35、37、41……

(1)

我们称这个数列为庞氏数列

孙能猜出来庞数了,表明他手中的数能推出的和数数列,与庞氏数列只有一个交

点!

这表明孙数只可能是 18、24、28、50、……(2)

我们称这个数列为孙氏数列

庞也知道了,表明庞数能推出的积数数列与孙氏数列只有一个交点!

这样的 庞孙数对 只可能是

解毕 具体思路如下:

推出(1)的思路

孙数 = 2* (庞数-2) =3 *(庞数-3) =5* (庞数-5) =7* (庞数-7)=...

根据歌德巴赫猜想所有大于2的偶数可以分解为两个质数的积,于是庞数必为奇

庞数 = 奇合数+2 恒成立 !

同时可推出 a,b 一奇一偶

推出(2)的思路

这时我们要直接使用条件3——“庞也知道了”

对应唯一的庞数的孙数也是唯一的

对于 和数,只有唯一的分解式

可以用反证法排除

我们可以猜测 ( 2^n,质数) 的分解式,庞数若有两种分解法必然不满足条件

3!

庞数 分解方法

11 (4 ,7) ( 8,3)

17 (4 ,13)

23 (4 ,19) (16,7)

27 (4 ,23) (16,11)

35 (4 ,31) (16,19)

37 (8 ,29) (32,5)

41 (4 ,37) (32,7)

47 (16,31)

51 (4 ,47) (8 ,43)

53 (16,37)

57 (8 ,47)

59 (16,41)

65 (4 ,61)

…… 这一部分可以编一个短短小小的程序来搜索,很快就筛选的差不多了

最后的工作:

对筛选出来的庞数,穷举起分解式,逐一验证

具体是这样的:

假设数为 X,Y;和为X+Y=A,积为X*Y=B.

根据庞第一次所说的:“我肯定你也不知道这两个数是什么”.由此知道,X+Y不

是两个素数之和.那么A的可能值为 11,17,23,27,29,35,37,41,47,51,53,57,59,

65,67,71,77,79,83,87,89,95,97.

我们再计算一下B的可能值:

和是11能得到的积:18,24,28,30

和是17能得到的积:30,42,52,60,66,70,72

和是23能得到的积:42,60...

和是27能得到的积:50,72...

和是29能得到的积:...

和是35能得到的积:66...

和是37能得到的积:70...

我们可以得出可能的B为.,当然了,有些数(30=5*6=2*15)出现不止一次.

这时候,孙依据自己的数比较计算后,“我现在能够确定这两个数字了.”

我们依据这句话,和我们算出来的B的集合,我们又可以把计算出来的B的集合删除

一些重复数.

和是11能得到的积:18,24,28

和是17能得到的积:52

和是23能得到的积:42,76...

和是27能得到的积:50,92...

和是29能得到的积:54,78...

和是35能得到的积:96,124...

和是37能得到的积:,...

因为庞说:“既然你这么说,我现在也知道这两个数字是什么了.”那么由和得出

的积也必须是唯一的,由上面知道只有一行是剩下一个数的,那就是和17积52.

那么X和Y分别是4和13

相关问题