摘要:考官C从区间[2,99]中选出两个整数n和m,将这两个数的和p=n+m与积q=n×m的数值分别告诉参加测试的智者B与智者A。C要求B与A说出n与m是多少,但不能将自己知道的p与q的值告诉对方。结果,在B与A说了不知道n与m的值之后,通过分析推理,B与A知道并说出了n与m的数值。这个例子说明,对于某些特殊的数学问题,即使只是简单地回答“知道”或者“不知道”,也有可能传送出一些有用的信息。
加入收藏
近日倪忠仁教授将洪加威教授向他提出的一个数学问题放到微信群中,请大家思考。问题如下:
问题1.有二数n、m皆在[2,3,4]之间,有二智者A、B,A只知二数之积(n×m),B只知二数之和(n+m)。A问B:你可知二数?B答:不知,你呢?A回亦不知。B曰:那我知。A说:那我也知。问:(1)他们真知道吗?(2)那你知道吗?(3)二数各是几?为什么?
这个问题颇为有趣。智者A与智者B本来都说不知道问题的答案,相互之间既没有交流什么情报,也没有新的信息来源,只是因为都说了一个“不知道”,然后便都说“知道了”。这是什么原因?
据网易2018-11-19·科学公园上的一篇未见作者署名的文章所说,这个问题最早由德裔荷兰数学家Hans Freudenthal于1969发表在荷兰数学杂志Nieuw Archiefvoor Wiskunde上。马丁·加德纳在1979年知道了这个问题,便将其发表在他著名的《科学美国人》数学专栏上,他觉得这个问题表面上看似乎缺少一些条件,因而将其称为“不可能问题”。
所以,现在这个问题被称为“Freudenthal问题”“不可能问题”,或者“和与积问题”。
下面我们给出问题1的解答。由于上面给出的问题1的叙述比较简略,故此我们先对问题1作详细一点地解读。我们不妨假定这是一场测试,在场的人,除了被测试的智者A与智者B,还有一个负责出题兼监考的考官C,以及围观者D、E、F等。
测试开始,考官C向所有在场的人宣布,他已经从区间[2]中精心选出了整数n和m,n和m可能相等,也可能不相等。他说他已算出了p=n+m和q=n×m的数值,并且他已经把n,m,p,q这4个数记在心中,但他不说出这些数是多少。他只是把p的具体的数值告诉了智者B,把q的具体的数值告诉了智者A。此外,除了考官C,其余任何人都不知道他选择的n和m是多少;除了考官C和智者B,其余任何人都不知道p的具体的数值,但都知道智者B知道p的具体的数值;除了考官C和智者A,其余任何人都不知道q的具体的数值,但都知道智者A知道q的具体的数值。
如所周知,如果一个人既知道n与m的和p,又知道n与m的乘积q,那他就容易通过求解一元二次方程算出n与m的具体的数值。因此,考官C向在场的人强调,不许互相交流信息,特别是不许智者B和A把p和q的具体的数值透露出来。考官C允许人们向智者B和智者A分别提问一次,但所提问题仅限于“是否知道n与m的具体的数值”,并且智者B和智者A回答问题时只能如实说“知道”或者“不知道”,不能说出更多的带有暗示性的语言。另外,考官C允许智者B和智者A在回答了一次之后再做一次修正。
交代完测试题目和测试规则之后,考官C宣布测试开始。
第1阶段.智者A问智者B是否知道n和m的具体数值,智者B如实回答说“不知道”。
第2阶段.智者B问智者A是否知道n和m的具体数值,智者A如实回答说“不知道”。
第3阶段.智者B听到智者A说“不知道”之后,改口说:“我知道n和m的具体的数值了”。
第4阶段.智者A听到智者B说“知道”之后,也改口说:“我知道n和m的具体的数值了”。
下面我们分析智者B为什么在听到智者A说“不知道”之后能够改口说“知道”,智者A又为什么在听到智者B说“知道”之后也能够改口说“知道”。这是否意味着“不知道”和“知道”这样简单的回答也能传输一些隐秘的信息?
为了叙述得清晰一些,我们需要建立一些定义和命题。
定义2.设q是区间[4]中的一个正整数。如果存在区间[2]中的整数n和m使得q=n×m并且n≤m,那么,我们称向量(n,m)是q在区间[2]中的一个2-分解,同时,称q是可在区间[2]中2-分解的。
如果(n,m)是q在区间[2]中的一个2-分解,那么,我们也说(m,n)是q在区间[2]中的一个2-分解,并且我们认为(n,m)与(m,n)是q的同一个2-分解。
例3.(1)48在区间[2]中有4种2-分解方式,为
公式1
(2)318=2×3×53有3种2-分解方式,为
公式2
因前一种2-分解方式在区间[2]的范围内,后两种2-分解方式不在区间[2]的范围内,故此319是可在区间[2]中2-分解的,并且319在这个区间中只有一个2-分解(6,53)。
定义4.设p是区间[4]中的一个正整数。如果存在区间[2]中的整数n和m使得p=n+m并且n≤m,那么,我们称向量(n,m)是p的在区间[2]中的一个2-分拆,同时,称乘积n×m是p的在区间[2]中的一个2-分拆乘积。
如果(n,m)是p在区间[2]中的一个2-分拆,那么,我们也说(m,n)是p在区间[2]中的一个2-分拆,并且认为(n,m)与(m,n)是p的同一个2-分拆。
例5.整数6在区间[2]中只有两个2-分拆,为(2,4)和(3,3),它们的2-分拆乘积分别是8=2×4和9=3×3。整数193在区间[2]中有3个2-分拆,为(94,99),(95,98),和(96,97),它们的2-分拆乘积分别是9306,9310,9312。
显然,同一个整数p的不同的2-分拆所对应的2-分拆乘积是不同的。因此,若p在区间[2]中有k个不同的2-分拆,则p在[2]中有k个不同的2-分拆乘积。
定义6.设(n,m)是正整数p在区间[2]中的一个2-分拆。若乘积q=n×m在区间[2]中有唯一的2-分解,则称(n,m)是p在区间[2]中的一个乘积可逆的2-分拆。若乘积q=n×m在区间[2]中有不只一个2-分解,则称(n,m)是p在区间[2]中的一个乘积不可逆的2-分拆。
显然,如果(n,m)是p在区间[2]中的一个乘积可逆的2-分拆,那么,我们可以在知道了乘积q=n×m但忘记了n与m之后仍然可以通过因数分解找回n与m。如果(n,m)是p在区间[2]中的一个乘积不可逆的2-分拆,那么,我们在知道了乘积q=n×m但忘记了n与m之后便不能通过因数分解找回n与m。
定义7.设p是区间[4]中的一个整数。以S(p)表示p在区间[2]中的乘积不可逆的2-分拆的集合。以k(p)表示S(p)的基数,即,以k(p)表示p在区间[2]中的乘积不可逆的2-分拆的个数。
k(p)这个函数对于解答问题1起到至关重要的作用。下面我们将对区间[4]中的每一个整数p算出k(p)的值,或者给出k(p)的一个适用的下界。首先我们有
例8.整数p=4的唯一的2-分拆(2,2)是乘积可逆的,p=5的唯一的2-分拆(2,3)和p=6的2-分拆(2,4)及(3,3)也都是乘积可逆的。因此当4≤p≤6时k(p)=0。
例9.整数p=7在区间[2]中恰有两个2-分拆,其中(2,5)是乘积可逆的2-分拆,(3,4)是乘积不可逆的2-分拆。因此我们有k(7)=1。
为了对区间[8,164]中的每一个整数p给出k(p)的一个适用的下界,我们需要如下的平凡的引理:
引理10.设(n,m)是正整数p在[2]中的一个2-分拆。
(1)若m是偶数,m≥4,m≠2n,2n<99,则(n,m)与(2n,m/2)均是乘积q=n×m在区间[2]中的一个2-分解,因而此时(n,m)∈S(p),即(n,m)是一个乘积不可逆的2-分拆;
(2)若m是3的整数倍,n是偶数,2m≠3n,3n/2≤99,则(n,m)与(3n/2,2m/3)均是乘积q=n×m在区间[2]中的一个2-分解,因而此时(n,m)∈S(p),即(n,m)是一个乘积不可逆的2-分拆。□
命题11.设p是区间[8,164]中的整数,则p在区间[2]中有至少两个乘积不可逆的2-分拆,因而k(p)≥2。
证.(1)先考虑p∈[8,143]的情形。据引理10之(1)可知:若p是[8,101]中的偶数,则{(2,p-2),(4,p-4)}∈S(p);若p是[8,101]中的奇数,则{(3,p-3),(5,p-5)}∈S(p);若p∈[102,143],则{(p-98,98),(p-96,96)}∈S(p)。
公式3
(3)现在我们考虑p∈[160,164]∪{150,158,158}的情形。据引理10之(2)可知
公式4
从56×99=84×66=63×88和60×95=75×76可知
公式5
从62×96=93×64,60×98=84×70和68×90=85×72可知
公式6
类似地,通过计算容易验证{(70,90),(72,88)}奂S(160),
公式7
命题11证完。□
为了对区间[165,198]中的每一个整数p算出k(p)的值,我们需要如下的一个引理和一个定义:
引理12.设p是区间[165,198]中的整数,(n,m)是p在区间[2]中的一个2-分拆,n≤m。则下列性质成立:
(1)若p是奇数,则66≤n<p/2<m≤99;若p是偶数,则67≤n≤p/2≤m≤99;
(2)n×m≥66×99=6534;
(3)设p'是区间[4]中的整数,(n',m')是p'在区间[2]中的一个2-分拆,n'≤m'。若n'×m'=n×m,则n'≥66;
(4)令质数的集合W={29,31,37,41,43,47,67,71,73,79,83,89,97}。若存在某一个质数w∈W使得乘积n×m是w的整数倍,则(n,m)是p在区间[2]中的一个乘积可逆的2-分拆。
证.(1)可从2≤n≤m≤99及n+m=p≥165推出。
(2)在下面的性质(3)的证明中包含有n×m≥66×99=6534这个结论。
(3)从p/2≤m≤99<165≤p及m'≤99可得n'×m'=n×m=(p-m)×m≥(p-99)×99≥(165-99)×99=66×99≥66×m',进而可得n'≥66。
(4)不难看出,对任w∈W,存在唯一的bw∈{1,2,3}使得{jw:j是一个整数}∩[66,99]={bww}。假设存在区间[2]中的整数n'≤m'使得n'×m'=n×m,则从上述性质(2)知66≤n'≤m'≤99。假如存在某一个质数w∈W使得n×m是w的整数倍,则必有m'=m=bww或者n'=n=bww,进而推出(n',m')=(n,m),这意味着n×m在区间[2]中的2-分解是唯一的,因而(n,m)是p在区间[2]中的一个乘积可逆的2-分拆。□
定义13.设n1,m1,n2,m2均是区间[2]中的整数,p1,p2和q均是整数。若n1+m1=p1,n2+m2=p2,p1>p2,n1×m1=n2×m2=q,并且p1∈[165,198],那么,我们称如下的式子(一个等式后面加两个数字)
公式8
是一个与k(p)(p∈[165,198])的计算有关的式子,同时,称p1和p2是这个式子的两个端点。
表1.从区间[166,198]中的整数p分拆出来的整数n与m的乘积下载原表
表1.从区间[166,198]中的整数p分拆出来的整数n与m的乘积
现在我们给出一个乘积表,见上面的表1。这个表在对应于每一个向量(n,m)∈X0-X1的地方都填写了乘积n×m的数值,而在对应于每一个向量(n,m)∈X1的地方则不填写n×m的具体的数值,只填写“<d”,其中
公式9
在这个表中我们找到10对相同的数字,从这10对数字可以得到10个与k(p)(p∈[165,198])的计算有关的式子。我们已将这10个式子写在表1的下方。从引理12可知,除了这10个式子,不再有其他与k(p)(p∈[165,198])的计算有关的式子。
对每一个整数p∈[165,198],从这10个式子可以知道p在区间[2]中的乘积不可逆的2-分拆的个数k(p):
(1)由于174和177这两个数以及区间[180,198]中的任一个整数都不在这10个式子中出现,故此对任一个整数p∈{174,177}∪[180,198]均有k(p)=0;
(2)由于集合{165,168}∪{172,173,175,176,178,179}中的每一个数都在这10个式子中恰出现一次,故此对这个集合中的每一个数p都有k(p)=1;
(3)由于集合{166,167,169,170,171}中的每一个数都在这10个式子中恰出现2次,故此对这个集合中的每一个数p都有k(p)=2。
将上面所得到的结论(1),(2),(3)与前面的例10,例11和命题13所得到的结论合并,我们有如下的命题:
命题14.设p是区间[4]中的整数,则
(1)若p∈{4,5,6,174,177}∪[180,198],则k(p)=0;
(2)若p∈{7,165,168}∪{172,173,175,176,178,179},则k(p)=1;
(3)若p∈{166,167,169,170,171},则k(p)=2;
(4)若p∈[8,164],则k(p)≥2。□
注15.还需注意表1下方的那10个式子实际上有3种类型。首先观察其中的第1个式子80×99=88×90=7920,这个式子连接的是179=80+99与178=88+90,并且k(179)=1,k(178)=1。我们称这个式子是k(1圮1)型的。类似地,表1下方那10个式子中的第2个式子78×98=84×91=7644连接176与175,第3个式子77×96=84×88=7392连接173与172,这两个式子也是k(1圮1)型的。
其次观察表1下方那10个式子中的第6个式子72×98=84×84=7056,这个式子连接的是170=72+98与168=84+84,并且k(172)=2,k(168)=1。我们称这个式子是k(2圮1)型的,或者,不分顺序,也可以称为k(1圮2)型的。类似地,表1下方那10个式子中的最后一个式子69×96=72×92=6624连接的是165与164,并且k(165)=1,k(164)≥2,我们也仍然将这个式子称为k(1圮2)型的。(实际上是k(164)=3,我们把大于2的与等于2的都划分为同一类了)。
再观察表1下方那10个式子中的第4个式子75×96=80×90=7200,这个式子连接的是171=75+96与170=80+90,并且k(171)=2,k(170)=2。我们称这个式子是k(2圮2)型的。类似地,表1下方那10个式子中的第5个式子72×99=81×88=7128,第7个式子70×99=77×90=6930,第8个式子72×95=76×90=6840以及第9个式子70×96=80×84=6720也都是k(2圮2)型的。
注16.在定义13中有两个条件是p1>p2和p1∈[165,198]。如果我们将这两个条件分别改为p1<p2和{p1,p2}奂[4],其余条件不改变,那么,我们同样可以称式子
公式10
是一个与k(p)(p∈[4])的计算有关的式子,同样称p1和p2是这个式子的两个端点。此时,据命题14知,除了式子
公式11
是k(12)型之外,其余式子都是k(22)型的。
下面我们回到问题1,站在旁观者D,E,F的角度,运用上述定义和命题去分析考官C心中所选定的n,m,p,q究竟是哪些整数。显然,我们可以得到如下结论:
结论17.因智者B在第1阶段中说他不能通过他所知道的p的值去推断出n和m的值,故此智者A与旁观者D,E,F均可以在第1阶段结束之后推断出p在区间[2]中的2-分拆不是唯一的,进而推断出p∈[6,196]。这就是智者B在第1阶段中说“不知道”所能够传输出来的信息。
结论18.因智者A在第2阶段中说他不能通过他所知道的q的值去推断出n和m的值,故此智者B与旁观者D,E,F均可以在第2阶段结束之后推断出q=n×m在区间[2]中有不只一个2-分解,也就是说,(n,m)是p在区间[2]中的一个乘积不可逆的2-分拆,由此可以推断出k(p)≥1。这就是智者A在第2阶段中说“不知道”所能够传输出来的信息。
结论19.因智者B在第3阶段中能够依靠他所知道的p的值以及他在第2阶段结束之后得到的信息“(n,m)是p在区间[2]中的一个乘积不可逆的2-分拆”去推断出n和m的值,故此智者A和旁观者D,E,F能够推断出p在区间[2]中只有一个乘积不可逆的2-分拆,即k(p)=1,并且,(n,m)就是p在区间[2]中的多个2-分拆之中乘积不可逆的那一个2-分拆。(假如k(p)=a>1,那么,智者B将不知道该从p的a个乘积不可逆的2-分拆选取哪一个,故此只有k(p)=1时他才能够说“知道了”)。
进一步,智者A和旁观者D,E,F可通过k(p)=1和命题14推断出p∈{7,165,168}∪{172,173,175,176,178,179}。这都是智者B在第3阶段中说“知道”所能够传输出来的信息。
公式12
注21.在这场测试游戏中,负责出题兼监考的考官C实际上是一个更为关键的人物。他应该对每一个整数p∈[4]都知道是否k(p)=0,或者k(p)=1,或者k(p)≥2。他应该知道,(n,m,p,q)必须是从
公式13
这3个向量中选取一个,才能达到
公式14
这样的戏剧性反转的效果。如果他随机地选取(n,m,p,q),例如,选取(n,m,p,q)=(50,60,110,3000),那结果就只能是
公式15
那就显得乏味,就体现不出信息的隐秘传输的魅力了。
注22.我们还需指出,旁观者D,E,F直到测试游戏结束也不能知道n和m的准确的数值。例如,假定考官C选取
他把p=165和q=6624分别告诉了智者B和智者A,那么,在第2阶段结束第3阶段开始之时,智者B就已经知道n和m分别是69和96,而智者A在第3阶段结束第4阶段开始之时也已经知道n和m分别是69和96,但旁观者D,E,F由于不能直接知道p或者q的数值,所以他们直到测试游戏的第4阶段结束也仍然只知道(n,m,p,q)是
公式16
这3个向量之中的一个,不能判定是其中的哪一个。当然,旁观者D,E,F能够将(n,m,p,q)的变动范围缩小到只有3种可能,广义地说,也算是知道部分的答案了。
注23.可以定义一个图为:G99的顶点的集合V99是区间[4]中的所有的整数。G99的边的集合E99是这样定义:对G99的任意两个顶点p1和p2,当且仅当存在定义13或者注16中所说的那样一个式子(F)时,放置一条以p1和p2为顶点的边。这样的图是否有一些令人觉得有趣的特点?能否通过这样的图去探讨一些与整数的2-分解和2-分拆有关的问题?这都是有待研究的问题。
注24.设j是一个大于99的整数,例如j=199,299,999,9999,等等。如果问题1中的整数n和m不限于区间[2]中的而改为限于区间[2,j]中,则上面的许多概念和命题仍然是有效的。当然,计算量会加大,参数会改变。例如,将99改为较大的j之后,k(165)=1不再成立,要改为k(165)>1,并且j比较大之后k(165)>10或20,30都有可能。而能使k(p)=1成立的p,除了永不随j的增大而改变的p=7之外,其余的p应该是比较接近2j的整数。一个比较有趣的问题是:能否发现一个j,使得将区间[2]改为区间[2,j]之后,能使k(p)=1成立的解,只有唯一的p=7?
参考文献:
[4]潘承洞,潘承彪.初等数论(第二版)[M].北京:北京大学出版社,2003.
麦结华.一个通过信息的隐秘传输而得到解决的数学问题[J].广西财经学院学报,2019,32(04):137-144.
基金:国家自然科学基金地区科学基金项目“熵变分及特定平面同胚的动力学”(11761012)
分享:
2008年应用Kuromoto-like模型对电网进行了深入的研究,同时得到了有效的电网动力学模型,并且得出:电网必须保持同步,很小的扰动会引起级联故障,导致大规模停电事故发生,这就表明电网的控制尤为重要.本文中,笔者基于反馈控制的思想,实现了对电网同步能力的改变,分析了反馈增益的取值对同步能力的影响.
2020-09-091、数论函数方程φ(φ(n))=S(n15)的可解性2、一个含有伪Smarandache函数的方程3、10的倍数分拆素数和的“1-9猜想”及思考4、有关数论函数φ(m)的一方程整数解的讨论5、纽结理论在数论中的应用6、用易经诠释考拉兹猜想7、数论函数方程φ2(n)=S(SL(nk))的可解性8、大学生就业当中的数学原理及其应用9、含混合型简数根函数的两个数论函数方程的解
2020-08-11纽结理论看似与数论[1]毫不相干,但已有不少纽结方面的结果是用数论来表达的,例如文献[2]。本文将给出反向的情形,即利用纽结理论证明数论的2个结果: 定理1若m,n是互素的整数,则24整除(m2-1)(n2-1)。 定理2若m,n是互素的整数,则12整除(m-1)(n-1)(2mn-m-n-1)。 容易举例说明,若m,n不是互素,则定理就不成立。
2020-08-10素数的判定算法是对输入的整数判定是素数还是合数,分为概率算法和确定算法。素数构造算法是输入小素数,经过若干次循环构造出大的素数。对已有的素数构造和判定算法进行梳理,给出算法的描述并编程实现Miller-Rabin素数测试算法、基于莱梅定理的素数构造算法、AKS素数测试算法及变体算法,对上述算法的效率进行比较。
2020-06-28对于某些特殊的数学问题,即使只是简单地回答“知道”或者“不知道”,也有可能传送出一些有用的信息。考官C从区间[2,99]中选出两个整数n和m,将这两个数的和p=n+m与积q=n×m的数值分别告诉参加测试的智者B与智者A。C要求B与A说出n与m是多少,但不能将自己知道的p与q的值告诉对方。
2020-06-28哥德巴赫猜想:任何大于4的偶数都可以用2个素数之和表示.本文对根据增殖算法得到的素数分布规律进行了深入的探讨,并在此基础上创建了素数周期循环分布表,计算出两个相邻素数的最大间隙不超过420,找出了105个位缺带对称群,并用位缺带全方位多重对称性证明了哥德巴赫猜想.
2020-06-28文献[1,2]分别介绍了分解因子法与递归序列法在不定方程中的应用,本文介绍另一种初等方法——幂比较法,在不定方程中的应用.所谓幂比较法,是指在不定方程两边比较某因数的最高方幂,以此来导致矛盾的方法.本文利用幂比较法证明了以下定理1和定理2,并同时得到推论1、推论2和推论3.
2020-06-28本文将研究包含了伪Smarandache函数Z(n)、简数根函数与p次幂原数函数Sp(n)的复合数论函数方程Z(n)=Sp(sim(n))(其中p=2,3,5)的可解性,并分别给出每个方程的全部解.并推广了一个关于计算p次幂原数函数Sp(n)值在n>p时,更加简易的计算公式以及证明该公式所用的方法.
2020-06-28初等数论是小学教育专业的一门专业必修课,这门课程与中小学的联系比较紧密,学生开始学习第一章(整数的可除性)时,都觉得简单易懂,但从第二章(不定方程)开始,大部分学生就感觉上课基本能听懂,但一做练习就错,其实出现这种现象的原因就是学生没有真正理解初等数论中的数学思想方法。所以,研究初等数论的教学方法是数论教师必须要研究的一项重要课题。
2020-06-28整数是数学研究的一个方向。组合数学中就有关于正整数在不同分部量下分拆数的研究。对于一个给定的不定方程(或方程组),它是否有解,如果有解,解是不是唯一的,能不能求出它的所有解,这是数论的一个研究方向。对每一个有基础解的方程,求解得出它的基础解,由这些基础解可以计算得到方程的多个整数解。
2020-06-28人气:6027
人气:3169
人气:3023
人气:2628
人气:2542
我要评论
期刊名称:数学的实践与认识
期刊人气:2783
主管单位:中国科学院
主办单位:中国科学院数学与系统科学研究院
出版地方:北京
专业分类:科学
国际刊号:1000-0984
国内刊号:11-2018/O1
邮发代号:2-809
创刊时间:1971年
发行周期:半月刊
期刊开本:16开
见刊时间:1年以上
影响因子:0.553
影响因子:0.322
影响因子:0.352
影响因子:0.000
影响因子:0.000
您的论文已提交,我们会尽快联系您,请耐心等待!
你的密码已发送到您的邮箱,请查看!