主题
最后登录1970-1-1
回帖0
精华
积分5
威望
RP
金钱 柯币
人气 ℃
注册时间2003-11-3
|
发表于 2004-3-6 02:35:34
|
显示全部楼层
回复:
原题是这样的:
鬼谷子有两个徒弟,孙膑和庞涓.一天,鬼谷子想考考俩人,就从2到99(含2,99)中任选了两个数,只把它们的和告诉庞涓,只把它们的积告诉了孙膑,让他们猜猜这两个数分别是多少.
庞涓拿到和之后一看,对孙膑说,"你一定猜不出了."孙膑说,"原来我是猜不出,可你这么一说我就知道了"庞涓一愣,接道,"既然如此,我也猜出来了"
他们最后都猜对了,问这两个数分别是多少?
方便描述,改写如下:有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 |
|