海南省人力资源:两个数的问题!!!

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 16:09:21
已知两个数都在2--99之间,而且A取两数之和,B取两数之积,A说:我不知道这两个数是什么,但我肯定你也不知道。B说:我本来不知道这两个数是多少,但既然你这么说,那么现在我知道了。A说:哦,那么我也知道了。
请问这两个数分别是多少?

答案:两个数是4和13,和为17,积为52
方便描述,假设:有2到99间两数a、b,A知道和s,B知道积m
由A的第一句话就可以推得,两数和必然小于55
原因:如果s=a+b>=55,则s一定可以写为s=c+d,其中53<=c<=97,是素数,2<=d<=99。这样,假如恰好a取c、b取d,那么m=c*d=a*b是一个可唯一乘积分解的数,也就是说B有可能只知道积就可以猜出来。
那么A说你一定猜不出就不准确了,所以s<55

由A的第一句话还可以推得,这两个数不能写为两个素数的积。因此,根据哥德巴赫猜想“每一个大于或等于6的偶数都可表示成两个奇素数之和”,推得至少在2~200范围内,s不能是偶数

所以s的取值范围目前可以确定为[5,54]间的奇数,还可以进一步缩小范围。对奇素数p,3<=p<=53,p+2是s肯定取不到的数,因为如果取到了,存在2+p的分解使它们的积唯一。这样s可能的取值范围就是{11,17,23,27,29,35,37,41,47,51,53}

s是奇数,说明a,b必然一个为奇一个为偶(不妨a奇b偶)。因此m=a*b为偶数

再分析B的第一句话。因为仅仅上面的条件就可以在知道m的条件下,而推出a,b。所以m=a*b的奇偶分解必然是唯一的。这说明奇数a必然是素数,b=2^n

再看A的的二句话。同样,仅仅上面的条件,就能确定s,说明s形如奇素数加一个2^n的偶数的分解也是唯一的。

根据上面的几条判据,对{11,17,23,27,29,35,37,41,47,51,53}进行筛选,同时注意s的a+b分解唯一性,可以很快得到结果
例如:11=4+7=8+3,不唯一
23=16+7=4+19,不唯一

最终得到s=17,a=13,b=4,m=52

那是多少呀

郁闷!

1. A说我不知道这两个数,但我肯定你也不知道
这说明两个数不可能同时为素数,这样两数之和不可能为偶数,
也就是说两树之和肯定为奇数,即这两个数必定是一奇一偶。
2.B说我本来不知道这两个数,但既然你这么说,那我现在知道了
这说明B的积的各种分解情况终只有一种是一奇一偶
所以此积最终必定写成 素数*(2^n)的形式
3.A说:哦,那我也知道了
这说明A的和的各种分解情况中只有一种是素数+2^n的形式
所以象11因为可以分解成3+8或4+7从而不符合要求
最后得出结果有以下几组解:
4, 13(和为17,积为52)
4,37(和为41,积为148)
4, 61(和为65,积为264)
8,89(和为97,积为712)
16,13(和为29,积为208)
16,37(和为53,积为592)
16,43(和为59,积为688)
16,73(和为89,积为1168)
16,97(和为113,积为1552)
但和最大是102,所以最后一个组合不出现。