一道推理题~~~~

来源:百度知道 编辑:UC知道 时间:2024/05/18 04:46:00
题目:

有两个数,在1—30之间,甲知道两数之和,乙知道两数之积。

甲问乙:“你知道是哪两个数吗?”

乙说:“不知道。”

乙问甲:“你知道是哪两个数吗?”

甲说:“我也不知道。”

乙说:“那我知道了。”

甲说:“那我也知道了。”

已知两人都有很强的推理能力,请问:这两个数是什么数?

PS:可能甲乙记错了,但我有90%确定是对的。
二楼的链接的题目与我的题目有出入啊~~~

这个题在网络上有太多的同题

发这个题的同志你也应该知道啊,但为什么你还要凭记忆去吧他给讲述出来呢

当然我只是提提我的想法,从你没很高分数看,也许.......

此题的解法

思路一:
两数可以相等.答案2和2,推导过程如下:
1.乙问甲:你知道这两个数是什么么?甲答:不知道
-〉则和数>3
2.甲问乙:你知道这两个数是什么么?乙答:不知道
-〉则积数不是素数,和数不是1+素数
3.乙又问:你知道这两个数是什么么?甲答:知道了
-〉则甲的和数分解只有两个解,并且其中一个解是1+素数
-〉因此甲可以通过第二问排除掉将和数分解成1+素数分解的办法,直接取得另一种和分解办法;
-〉同时我们注意到和分解只有两个解的和数满足 和数<6,并且和数>3,因此和数只有4,5;
-〉4的两种分解1,3和2,2存在1和素数的情况因此和数为4,两数为2和2可能(这里说可能是因为还不确定最后一问的情形是否符合)是其中一种答案
-〉5的和分解是1,4和2,3不存在1和素数的和分解,因此和数5必然不是甲所持有的和数
4.甲问乙:你知道了么?乙答:我也知道了
-〉因为乙也和我们推理的一样聪明,因此他通过前三问知道甲持有的和数是4,因此乙的手里拿到的积数只能是1*3 = 3或2*2 = 4,1*3很容易被排除,因此乙持有的积数是4,
->乙通过手里的积数4推测可能是1,4两个数,或2,2两个数;
-〉显然1,4两个数不符合要求,因为这意味这甲持有的和数是1+4=5,乙同样可以推理出5在第三问必然被排除;
-〉2,2两个数意味这甲持有的和数是2+2=4,乙可以推倒出这正是甲在第三问就能得出答案的两个数,因此乙很肯定的知道这两个数就是2和2;

思路二:
假设两数和为n ,两数积为k
//由于开始甲乙都无法判断两数,所以n和k都不会是极大或极小的值
所以 59>n>3 k>3(上限判断比较复杂)
//注意第三句,甲