1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B说我也知道了,请你猜猜这两个数的和是多少

来源:互联网 发布:mysqldump备份数据库 编辑:程序博客网 时间:2024/05/16 19:31

1~20中选2个数,把这个两个数的和告诉A,2个数的积告诉B。

然后问A知道这两个数是多少吗?A说不知道,再问B知道这两个数是多少吗?B也说不知道。



之后A突然推理出这两个数分别是多少了,并告诉B他知道答案了。
B随后也知道了这两个数是多少了。


请问他们是怎么推理的,这2个数是多少呢?


拿到问题相信很多人是懵逼的,我也是(才怪),昨晚在路边等朋友,看到这个问题,就在大脑里思考了一下,随后上网上核对答案的时候,很多人在求思路,却得到的只是答案,而不是思路。基于我觉得这个问题不简单,所以剖析一下。


在解决这个问题,我们需要具备有演绎推理的能力。


演绎:
1~20选2个数,这两个数肯定是特殊的数。如果不特殊也就没有接下来的问题了。
推理:
如果不特殊也就没有接下来的问题了。


演绎:
A组成这个和的数肯定有多个组合。
推理:
不然A一开始就不会说不知道了,所以这2个数不可能是 (1,2)(19,20),也就是说着这个和的范围是【4~38】之间。


演绎:
B说一开始说不知道这个数,这两个数的积肯定不是质数。
推理:
如果是质数,那么可以直接推理这两个数就是1和他本身,所以这两个数不可能是(1,质数)。所以排除所有1和质数的组合,1~20中的质数有:2,3,5,7,11,13,17,19。 所以这两个数的积不可能是 2,3,5,7,11,13,17,19。
另外,我们可以知道从20选2个数有190种可能,这里我们只是排除了8+2种可能。我们还有180种可能,如果我们是A和B【绝对】会沉默。


真的是这样吗?
我们真的是A和B吗?
不是的!!!!!


为什么?
因为A在B说完“不知道”的时候,推理出这两个数分别是多少了,从180种可能中推理出来了!!!


为什么?
因为我们和A并不一样!智商不一样?不,我们很聪明。


我们和AB的区别是什么?
A知道这两个数的和以及180种组合,B知道这两数的积以及180种组合,我们只知道有180种组合。


所以A所知道的这个两个数的和肯定是很特殊的


演绎:
这2个数的和,可以分解出至少2种组合( 比如,5可以分解为(1,4)(2,3)),而且所能分解的组合肯定属于这180种组合里面,同时可以根据现有的已知条件过滤出唯一一个组数据。
推理:
如果不能利用现有的条件推理出唯一一组数据,那么A就不可能马上知道了。


哪个条件这么特殊呢?
演绎:
肯定是最新从B的回答中推理出来的
推理:
如果不是最新推理出来的,A就不会在B回答后才知道答案了(因为A的智商200+),所以这个特殊的条件就是:这两个数的积肯定不是质数。


什么样的组合数组才能通过“这两个数的积肯定不是质数”这个条件过滤出唯一一个数组?
演绎:
几乎所有组合的乘积都是质数,只有唯一一组的乘积不是质数。
推理:
2个数的乘积是质数,质数的因子是1和他本身,也就是说如果这两个数的和是定值,另一个加数也是定值1,另一个加数必须也是定值(比如,告诉你,和是20,其中一个加数是1,另一个加数肯定是19),结论:这个两个数的和只能分解成2个组数,其中有一组是(1,质数)。


我们知道这个数的和必须处于【4~38】,同时这个和肯定是1+质数,那么1+质数肯定不能超过38,小于38大于4的质数由不是很多,所以我们完全可以推理出来这个和的可能是多少。然后再对这些和分解,要求只能有分解出2组的才是我们要的结果。
小于38大于4的质数:5,7,11,13,17,19,23,29,31,37;
那么这个和可能是6,8,12,14,18,20,24,30,32,38.分解后不能的2个加数不能有1,同时2个加数都要不一样,同时这两个加数必须要在1~20之间。
而且我们发现,数值越大,分解的可能组合越多,所以我们从6开始分解。


6可能组合(1,5)(2,4)(3,3)。排除最后一组和第一组,所以6推理出这两个数是2和4,他们的积8也不是质数,这似乎满足我们的要求了。
如果不放心继续往下
8可以分解为(1,7)(2,6),(3,5)。。。。
12可以分解为(1,11)。。。。。。。。。到这里我们还是放弃演算了,只有6才是我们的真爱。


所以我们推理出这两个数是(2,4)


整个问题的复杂是很高的,需要不断的推敲,记录,凭空解答确实需要对大脑很高的符合。

0 0
原创粉丝点击