逻辑学吧 关注:38,442贴子:145,251

发表在今天百度知道首页《知道日报》中的一个题目

只看楼主收藏回复

有两个不相等的整数 x,y ,它们都大于 1 且和小于 100 ,数学家“和先生”知道这两个数的和,数学家“积先生”知道这两个数的积,他们进行了如下对话:
积先生:我不知道 x 和 y 分别是啥。
和先生:我知道你不知道。
积先生:我现在知道了。
和先生:如果你知道了,那我也知道了。
那么,x 和 y 各是多少?
已知条件如此少,难怪被称为“不可能完成的谜题”!

图灵奖获得者艾兹赫尔·迪杰斯特拉(Edsger W. Dijkstra)曾说他无数次尝试心算解决它却屡屡入睡,终于在一个无眠的夜晚,花了六个小时,硬是没有用纸和笔,在脑子里解决了那个问题。
超模君表示,看完。。。

脑子好。用。多。了。
大家可以做做这都题目吗?我有了一点思路。但是要做出来,还需要很多时间。
我提示一下:“积先生”说不知道X和Y是什么,说明X和Y的乘积肯定不是15呀,21呀等等这些数字。
@火星人的篝火,你是否愿意用一些“笨办法”做一下这道题目呢?谢谢!


1楼2017-04-08 19:06回复
    不知道把这种智力游戏的题目,(当然跟推理、计算有关。)拿到逻辑学吧来,是否合适?我个人感觉动动脑子,推一推理,有益智作用。实在不允许在此吧出现这种题目,就把它删了吧。


    2楼2017-04-08 19:11
    回复
      2026-02-27 12:33:32
      广告
      不感兴趣
      开通SVIP免广告
      这一对数,万里挑一。有点难度!


      IP属地:北京来自Android客户端3楼2017-04-08 21:19
      收起回复
        我的思路是这样,设大于1小于100的数字集合为A,一个乘积如果能确定两个数字,那么这个积一定是两个质数得出,所以列出100以内大于1的所有质数,俩俩分别相加设为集合B,根据题意和先生知道的数字为A交(B的补集)=C,因为条件只有是和否,积先生知道的数字必然只有3个因子 设为 abc,根据题意这个数字的三个因子 a*b+c或者a*c+b分别属于B和C 满足这个条件的就是所求的数。


        IP属地:上海来自iPhone客户端4楼2017-04-09 00:31
        收起回复
          我算的是2跟9,和是11积是18。个人感觉把逻辑理清就挺简单了,自习室做了2个小时算出结果,不知是否正确。


          5楼2017-04-10 22:01
          收起回复
            怎么感觉有点像是数论相关的?
            没有数论基础的做这个有点浪费时间吧。
            感觉逻辑学在这个题目中的作用就是将问题转化成符号。
            不过好像也超出了我现在的知识范围。。感觉会不会可以用模态逻辑来表示。


            IP属地:河南6楼2017-04-18 18:33
            收起回复
              在某知名acg贴吧问了下这个问题,感觉还算有些结果。领域是逻辑领域的,偏计算机一些。涉及的逻辑理论应该不算少。
              别人(豆腐干047)写的对这个问题的翻译:
              A:ab=j有多个解
              B:a+b=h,每组ab都有多种分解方式
              C:满足A的ab=j的全部解中,有且仅有一种满足B的形式
              D:满足B的a+b=h的全部解中,有且仅有一种满足C的形式
              各个命题的意义:
              A.
              1.p is not the product of two primes;乘积不是两个质数的乘积
              2.p is not the third power of a prime;乘积不是质数的3次方
              3.p ≠ 2^11;乘积不是2的11次方
              4.p does not contain a prime factor greater that 50.x不是大于50的质数
              B
              1.s is odd
              2.s is not of the form q + 2 with q prime
              3.s < 55 (for 53 is the smallest prime greater that 50).
              C
              没有较好的表达,
              假设满足C的p为乖p
              只能知道一个充分条件
              p=2^k*质数
              D
              对于满足B的和的拆分,只有一种拆分得到的乘积为乖p


              IP属地:河南10楼2017-04-20 15:54
              回复
                在谷歌上搜索Sum and Product Puzzle
                可以得到权威答案


                IP属地:河南11楼2017-04-20 15:56
                收起回复
                  2026-02-27 12:27:32
                  广告
                  不感兴趣
                  开通SVIP免广告
                  @姗姗冰洁,你好,你写了几层楼,我虽然没有完全看懂,但有一些问题(是我对已知条件和两位先生的对话的理解。虽然可能还是不完整、不全面,但是比你们的理解进了一步。)我认为有必要写出来给你们看一看。我的思考还没完,有进一步思考下去的空间和很长的路。我真的没多少时间做这个事。但如果你们还想把这道题做出来,我愿意陪你们。
                  此题有已知条件,我们理解:X和Y应该是自然数,而不是整数。X≠Y,X>1,Y>1,4≤X+Y=M≤99,(∴X≤97,Y≤97。)XY=O。
                  对积先生的第一句话(简称“积1”。)“我不知道X和Y分别是啥。”的理解:
                  积先生手里的那个数字O不是两个质数的积;不是任何(2至97之内的)质数的平方、三次方;X和Y的乘积位于[4,2450]之间;(也许还能说明其它什么意思吧,但是我一时想不出来了。)先说到这,我得下了。


                  12楼2017-04-20 20:13
                  回复
                    讨论下12楼:
                    一、对A条件的数学结论的单独分析:
                    1.原题中添加了x>y的条件
                    2.A的直接结论是
                    a.积p是至少3个质因子的乘积,
                    假设质因子个数为n,那么y可表示为1~[n/2]个质因子的乘积,x表示为剩余的n-1~[n/2]+1个质因子的乘积。
                    b.还有一个条件,但不容易表述。我的表述是这样的:
                    所有可能的(x,y)中,至少有两个不同的(x,y)满足x,y>1,x+y<100。
                    二、对12楼的问题的解释
                    #对12楼的问题的解释
                    1.某正整数“不是两个质数的积”那就“不是质数的平方”,“不是质数的平方”条件多余了。(这里第一句话有点绕:实际上是“两质数积→两质数平方”的逆否命题。)
                    可以画个韦恩图来理解他们的关系:两质数平方是两质数积的子集。非两质数积是非两质数平方的子集
                    3.X>1,Y>1,4≤X+Y=M≤99,这个没有问题,然后能够知道,X>=2,Y<=97。
                    #解释关于A在10提到了而没在12楼提到的那些结论的正确性
                    2.
                    10楼A中第三个条件:乘积不是2的11次方
                    是个蛮难直接想到的一个情况,这里只说为什么2^11不满足条件A
                    2^11只能拆分成质数2的乘积,那么两个数的形式一定是2^n,我们发现2^6<100<2^7
                    所有可能的(x,y)就是(2,2^10),(2^2,2^9),...,(2^5,2^6)
                    只有(2^5,2^6)满足x,y>1,x+y<100。
                    10楼A中第四个条件:乘积的质因子一定小于50.
                    p表示product乘积,p_i表示乘积的质因子,其中的p表示prime质数。
                    不妨设p_i从大到小排列(比如p=42,那么p_1=2,p_2=3,p_3=7;p=12,那么p_1=2,p_2=2,p_3=3)
                    那么p=p_1*...*p_n
                    x=t个p_i的积,y=(n-t)个p_i的积,1=<t<=[n/2]。
                    对所有的(x,y),x>=t个p_i中最大的数,同理y>=n-t个p_i中最大的数
                    x+y>x且x+y>y所以x+y>n个p_i中最大的数=p_n。
                    x+y>p_n对所有x,y都成立,那他也对部分x,y成立
                    部分(x,y)满足,x+y<100,x+y>2p_n,所以p_n<50。
                    所有p_i<50。
                    应该高中数学能看懂,这个论证也能看懂吧。


                    IP属地:河南13楼2017-04-22 11:21
                    收起回复
                      有两个不相等的整数 x,y ,它们都大于 1 且和小于 100 ,数学家“和先生”知道这两个数的和,数学家“积先生”知道这两个数的积,他们进行了如下对话:
                      积先生:我不知道 x 和 y 分别是啥。
                      和先生:我知道你不知道。
                      积先生:我现在知道了。
                      和先生:如果你知道了,那我也知道了。
                      那么,x 和 y 各是多少?
                      ***
                      原题目是求解一个二元方程组。
                      1.x+y=m.
                      2.xy=n.
                      其中m和n都是常数。它们最小为4,最大为99*99.
                      这个方程组是可解的。


                      IP属地:北京14楼2017-04-22 12:35
                      回复(17)
                        这个题目枯燥乏味。
                        但是,或许有些巧妙的解法。


                        IP属地:北京15楼2017-04-22 12:41
                        收起回复


                          IP属地:北京17楼2017-04-22 15:38
                          回复
                            这个函数怎么画成这样啊,我的天


                            IP属地:上海来自iPhone客户端18楼2017-04-22 15:57
                            回复
                              2026-02-27 12:21:32
                              广告
                              不感兴趣
                              开通SVIP免广告
                              3:积先生:我现在知道了。=>这两个数最多分解为3个素数
                              数论没学,我不做了
                              等详解


                              IP属地:吉林19楼2017-04-22 17:00
                              收起回复