在2到99之间选两个整数,告诉A两数之和,告诉B两数之积.A对B说:"虽然我不知道那两个数字,可是我能肯定你也不知道." B说:" 我原来确实不知道,可是你这么一说,现在我知道了." A于是说:" 既然你

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 00:05:02
在2到99之间选两个整数,告诉A两数之和,告诉B两数之积.A对B说:

在2到99之间选两个整数,告诉A两数之和,告诉B两数之积.A对B说:"虽然我不知道那两个数字,可是我能肯定你也不知道." B说:" 我原来确实不知道,可是你这么一说,现在我知道了." A于是说:" 既然你
在2到99之间选两个整数,告诉A两数之和,告诉B两数之积.
A对B说:"虽然我不知道那两个数字,可是我能肯定你也不知道." B说:" 我原来确实不知道,可是你这么一说,现在我知道了." A于是说:" 既然你这么说,那我也知道了," 问是哪两个数字?

在2到99之间选两个整数,告诉A两数之和,告诉B两数之积.A对B说:"虽然我不知道那两个数字,可是我能肯定你也不知道." B说:" 我原来确实不知道,可是你这么一说,现在我知道了." A于是说:" 既然你
方便描述,改写如下:有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

在2到99之间选两个整数,告诉A两数之和,告诉B两数之积.A对B说:虽然我不知道那两个数字,可是我能肯定你也不知道. B说: 我原来确实不知道,可是你这么一说,现在我知道了. A于是说: 既然你 在2到99之间选两个整数,告诉A两数之和,告诉B两数之积.A对B说:虽然我不知道那两个数字,可是我能肯定你也不知道. B说: 我原来确实不知道,可是你这么一说,现在我知道了. A于是说: 既然你 c语言计算1到10之间奇数之和和偶数之和9下面函数用来求两个整数之和,并通过行参传回两数相加之和值,请填空int add(int x,int y,填空1 z)-----------{填空2=x+y;}---------------好像是 int *10下面程序的 在VB中输入一个大于等于1的整数,然后分别计算从0到该数之间的奇数之和和偶数之和程序怎么编? 世界超级数学难题将 M、N 两个大于 1 的整数之和告诉了数学家 A ;将两数之积告诉了数学家 B .A、B 之间无信息交流.C 问他们是否知道这两个数是多少,第一次发问时,第二轮发问时,都准确说 高速公路的同一侧有A.B两个村庄,它们到高速公路所在直线MN的垂直距离分别为A,A1=2KM,B,B1=4KM,A1,B1=8KM要在告诉公路A1B1之间设一个出口P,使AB两个村庄到P的距离之和最短,这个最短距离是多少千米 从键盘输入两个整数,输出这个两个数之间的非素数之和 在2、3两数之间,第一次写上5,第二次在2、5和5、3之间分别写上7、8,(如下图所示)每次都在已写上的相邻两数之间写上这两个相邻数之和.这样的过程反复了六次,问所有数之和?2……7……5… 差为2的两个整数,如果每个数的各位数字之和能被7整除,我就称它为一对幸运数.请你在100~200之间找出一对幸运数,他们是? 在1,2两数之间,第一次写上3;第二次在1,3之间和3,2 之间分别写上4,5,得到:1 4 3 5 2.以后每一次都在已写的两个相邻数之间,再写上这两个相邻数之和.这样的过程共重复了8次,那么所有数的和是 求2到1000之间的所有同构数之和 在100到500之间的整数中,包含数字2的数有多少个 有AB两个整数,A的各位数字之和是26,B的各位数字之和是45,两数相加时进位3次,那么A+B的各位数字之和是多少 有ab两个整数a的个位数字之和为35b的各位数字之和为26两数相加时进位三次那么a+b的各位数字之和是多少 有A,B两个整数,各位数字和分别为35,26,两数相加进位三次,那么A+B的各位数字之和是多少? 有A,B两个整数,各位数字和分别为34,26,两数相加进位三次,那么A+B的各位数字之和是多少? 在1,2两数之间,第一次写上3;第二次在1,3之间和3,2之间写上4,5,得到:1,4,3,5,2以后每一次都在已写上的两个数之间,再写上这两个相邻数之和.这样的过程重复了8次,那么所有数的和是多少?呃..答 在100到200之间能被3整除的所有整数之和是 3Q