查看“︁和與積的問題”︁的源代码
←
和與積的問題
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{copyedit|time=2018-08-15T14:45:06+00:00}} '''和與積的問題'''({{lang-en|'''Sum and Product Puzzle'''}})是一道邏輯謎題,也稱為'''不可能的謎題'''({{lang-en|'''The Impossible Puzzle'''}}),因為它的題面似乎缺乏足夠的解題信息。該謎題由{{link-en|漢斯·弗賴登塔爾得|Hans Freudenthal}}在1969年首次發表<ref>Hans Freudenthal, Nieuw Archief Voor Wiskunde, Series 3, Volume 17, 1969, page 152</ref> ,而「不可能的謎題」這個名字是由[[馬丁·加德納]]所提出的<ref>{{citation|first=Martin|last=Gardner|title=Mathematical Games: A Pride of Problems, Including One That Is Virtually Impossible|journal=[[Scientific American]]|volume=241|date=December 1979|pages=22–30}}.</ref>。這個謎題是可以解開的,儘管略顯困難。還有很多與之類似的謎題。 ==謎題== 註:這謎題有很多個版本。這裡用最原始的版本。<br /> X和Y是二個整數,大於1,和不大於100,而X嚴格小於Y (1 < X < Y, X+Y ≦100)。<br /> S和P是兩個數學家,邏輯都非常好。S知道兩者的和 X+Y。P知道兩者的積 XY。兩個人都知道上述的資訊後的對話如下: *S說:「P不知道X和Y的值。」 *P說:「我知道X和Y的值了。」 *S說:「現在我也知道X和Y的值了。」 X和Y分別是多少? ==解答== 答案是 X 和 Y 分別是4和13,P一開始知道的乘積是52,S一開始知道的和是17。 一開始P不知道答案,因為有兩個可能性 :52 = 4 × 13 = 2 × 26 而S也知道P不知道答案,因為所有加起來為17,符合規則的數字,相乘後的乘積都無法由乘積直接反推''X''和''Y''。 但S和P都可以根據對方的說明刪除一些不符合說明的解,因此得到答案。 ==詳解== === 數學家P和數學家S如何得到答案 === ==== 數學家P ==== 令p為兩數之積,s為兩數之和。 P知道p=52,P猜測(2,26)和(4,13)可能是答案,因此P知道s=28或s=17。 若s=28: :可能答案會是(2,26)、(3,25)、(4,24)、(5,23)、(6,22)、(7,21)、(8,20)、(9,19)、(10,18)、(11,17)、(12,16)及(13,15)。 :但若答案是(5,23),5*23的乘積(115)無法再表示為其他兩個大於一數字的乘積,因此若答案是(5,23),P就知道答案了。 :而若答案是(11,17),11*17的乘積(187)無法再表示為其他兩個大於一數字的乘積,因此若答案是(11,17),P就知道答案。 :P有可能知道X和Y的值,因此S不能斷定說「P不知道X和Y的值。」 若s=17: :可能答案會是(2,15)、(3,14)、(4,13)、(5,12)、(6,11)、(7,10)及(8,9)。 :每組數字中都至少有一個是合數,因此乘積可以表示為其他兩個大於一數字的乘積,S可以確定P不會知道正確的數字。 :因此S可以說「P不知道X和Y的值。」 因此當S說「P不知道X和Y的值。」時,P可以刪除(2,26),剩下的(4,13)就是答案。 ==== 數學家S ==== S知道s=17,可能的答案有(2,15)、(3,14)、(4,13)、(5,12)、(6,11)、(7,10)及(8,9)。S知道p可能是30、42、52、60、66、70或72。 當P說:「我知道X和Y的值了。」時,S可以知道P依照對話可排除大部份的可能解,只留下一個可能解。 ==== S模擬P的想法 ==== {{hidden |header=情形1(p=30) |content=P知道p=30,可能的答案有(2,15)、(3,10)及(5,6)。P知道s可能是17、13或11。 若s=17: :S會猜可能答案是(2,15)、(3,14)、(4,13)、(5,12)、(6,11)、(7,10)及(8,9),每組數字中都至少有一個是合數。 :S可以確定P不會知道正確的數字。 :S可以說「P不知道X和Y的值。」 若s=13: :S會猜可能答案是(2,11)、(3,10)、(4,9)、(5,8)及(6,7),其中(2,11)都是質數。 :若答案是(2,11),P就知道正確數字了。 :S不能說「P不知道X和Y的值。」 若s=11: :S會猜可能答案是(2,9)、(3,8)、(4,7)及(5,6)。 :S可以確定P不會知道正確的數字。 :S可以說「P不知道X和Y的值。」 因此若S說 「P不知道X和Y的值。」時,P可以排除(3,10),可能答案有(2,15)及(5,6),並不唯一。 |headerstyle=text-align:left }} {{hidden |header=情形2(p=42) |content=P知道p=42,可能的答案有(2,21)、(3,14)及(6,7)。P知道s可能是23、17或13。 若s=23: :S會猜可能答案是(2,21)、(3,20)、(4,19)、(5,18)、(6,17)、(7,16)、(8,15)、(9,14)、(10,13)及(11,12). :S可以確定P不會知道正確的數字。 :S可以說「P不知道X和Y的值。」 若s=17: :S會猜可能答案是(2,15)、(3,14)、(4,13)、(5,12)、(6,11)、(7,10)及(8,9),每組數字中都至少有一個是合數。 :S可以確定P不會知道正確的數字。 :S可以說「P不知道X和Y的值。」 若s=13: :S會猜可能答案是(2,11)、(3,10)、(4,9)、(5,8)及(6,7),其中(2,11)都是質數。 :若答案是(2,11),P就知道正確數字了。 :S不能說「P不知道X和Y的值。」 因此若S說 「P不知道X和Y的值。」時,P可以排除(6,7),可能答案有(2,21)及(3,14),並不唯一。 |headerstyle=text-align:left }} {{hidden |header=情形3(p=52 ) |content=參考數學家P實際的思考方式 |headerstyle=text-align:left }} {{hidden |header=情形4(p=60) |content=P知道p=60,可能的答案有(2,30)、(3,20)、(4,15)、(5,12)及(6,10)。P知道s可能是32、23、19、17或16。 若s=32: :根據[[哥德巴赫猜想]]及其实际验证表明,至少<math>\scriptstyle 4 \cdot 10^{14}</math>以下的偶数都能表示成两个质数的和,因此32可以表示為二個質數的和((3,29)和(13,19))。 :若答案是(3,29)或(13,19),P就知道正確數字了。 :S不能說「P不知道X和Y的值。」 若s=23: :S會猜可能答案是(2,21)、(3,20)、(4,19)、(5,18)、(6,17)、(7,16)、(8,15)、(9,14)、(10,13)及(11,12),每組數字中都至少有一個是合數。 :S可以確定P不會知道正確的數字。 :S可以說「P不知道X和Y的值。」 若s=19: :S會猜可能答案是(2,17)、(3,16)、(4,15)、(5,14)、(6,13)、(7,12)、(8,11)及(9,10),其中(2,17)都是質數。 :若答案是(2,17),P就知道正確數字了。 :S不能說「P不知道X和Y的值。」 若s=17: :S會猜可能答案是(2,15)、(3,14)、(4,13)、(5,12)、(6,11)、(7,10)及(8,9),每組數字中都至少有一個是合數。 :S可以確定P不會知道正確的數字。 :S可以說「P不知道X和Y的值。」 若s=16: :根據[[哥德巴赫猜想]]及其实际验证表明,16可以表示為二個質數的和((3,13)和(5,11))。 :若答案是(3,13)或(5,11),P就知道正確數字了。 :S不能說「P不知道X和Y的值。」 因此若S說 「P不知道X和Y的值。」時,P可以排除(2,30), (4,15)及(6,10),而可能答案有(3,20)及(5,12),並不唯一。 |headerstyle=text-align:left }} {{hidden |header=情形5(p=66) |content=P知道p=66,可能的答案有(2,33)、(3,22)及(6,11)。P知道s可能是35、25或17。 若s=35: :S會猜可能答案是(2,33)、(3,32)、(4,31)、(5,30)、(6,29)、(7,28)、(8,27)、(9,26)、(10,25)、(11,24)、(12,23)、(13,22)、(14,21)、(15,20)、(16,19)及(17,18),每組數字中都至少有一個是合數。 :S可以確定P不會知道正確的數字。 :S可以說「P不知道X和Y的值。」 若s=25: :S會猜可能答案是(2,23)、(3,22)、(4,21)、(5,20)、(6,19)、(7,18)、(8,17)、(9,16)、(10,15)、(11,14)及(12,13),其中(2,23)都是質數。 :若答案是(2,23),P就知道正確數字了。 :S不能說「P不知道X和Y的值。」 若s=17: :S會猜可能答案是(2,15)、(3,14)、(4,13)、(5,12)、(6,11)、(7,10)及(8,9),每組數字中都至少有一個是合數。 :S可以確定P不會知道正確的數字。 :S可以說「P不知道X和Y的值。」 因此若S說 「P不知道X和Y的值。」時,P可以排除(3,22),而可能答案有(2,33)及(6,11),並不唯一。 |headerstyle=text-align:left }} {{hidden |header=情形6(p=70) |content=P知道p=70,可能的答案有(2,35)、(5,14)及(7,10)。P知道s可能是37、19或17。 若s=37: :S會猜可能答案是(2,35)、(3,34)、(4,33)、(5,32)、(6,31)、(7,30)、(8,29)、(9,28)、(10,27)、(11,26)、(12,25)、(13,24)、(14,23)、(15,22)、(16,21)、(17,20)及(18,19),每組數字中都至少有一個是合數。 :S可以確定P不會知道正確的數字。 :S可以說「P不知道X和Y的值。」 若s=19: :S會猜可能答案是(2,17)、(3,16)、(4,15)、(5,14)、(6,13)、(7,12)、(8,11)及(9,10),其中(2,17)都是質數。 :若答案是(2,17),P就知道正確數字了。 :S不能說「P不知道X和Y的值。」 若s=17: :S會猜可能答案是(2,15)、(3,14)、(4,13)、(5,12)、(6,11)、(7,10)及(8,9),每組數字中都至少有一個是合數。 :S可以確定P不會知道正確的數字。 :S可以說「P不知道X和Y的值。」 因此若S說 「P不知道X和Y的值。」時,P可以排除(5,14),而可能答案有(2,35)及(7,10),並不唯一。 |headerstyle=text-align:left }} {{hidden |header=情形7(p=72) |content=P知道p=72,可能的答案有(2,36)、(3,24)、(4,18)、(6,12)及(8,9)。P知道s可能是38、27、22、18或17。 若s=38: :根據[[哥德巴赫猜想]]及其实际验证表明,38可以表示為二個質數的和((7,31))。 :若答案是(7,31),P就知道正確數字了。 :S不能說「P不知道X和Y的值。」 若s=27: :S會猜可能答案是(2,25)、(3,24)、(4,23)、(5,22)、(6,21)、(7,20)、(8,19)、(9,18)、(10,17)、(11,16)、(12,15)及(13,14),每組數字中都至少有一個是合數。 :S可以確定P不會知道正確的數字。 :S可以說「P不知道X和Y的值。」 若s=22: :根據[[哥德巴赫猜想]]及其实际验证表明,22可以表示為二個質數的和((3,19)或(5,17))。 :若答案是(3,19)或(5,17),P就知道正確數字了。 :S不能說「P不知道X和Y的值。」 若s=18: :根據[[哥德巴赫猜想]]及其实际验证表明,18可以表示為二個質數的和((5,13)或(7,11))。 :若答案是(5,13)或(7,11),P就知道正確數字了。 :S不能說「P不知道X和Y的值。」 若s=17: :S會猜可能答案是(2,15)、(3,14)、(4,13)、(5,12)、(6,11)、(7,10)及(8,9),每組數字中都至少有一個是合數。 :S可以確定P不會知道正確的數字。 :S可以說「P不知道X和Y的值。」 因此若S說 「P不知道X和Y的值。」時,P可以排除(2,36)、(4,18)和(6,12),而可能答案有(3,24)及(8,9),並不唯一。 |headerstyle=text-align:left }} 只有情形3最後只有一個可能答案,因此S可以確定(4,13)是正確答案。 ===讀者如何得到答案=== 問題給出的條件是 : X, Y 是兩個整數,適合1 < X < Y,X + Y ≤ 100。(條件1) 令兩數之和為s,兩數之積為p。以下提到的(x,y),都指符合條件1的一對整數x和y。 從S的第一句話,p可分解成多於一個(x,y)。而且S雖不知道p的值,但檢查了s可分拆成的所有(x,y)後,其積xy都有多於一個分解符合條件1,因此S可以肯定P不知道X, Y的值。(條件2) 從P的第一句話,P知道p的值,也知道s符合條件2。檢查了p可分解成的所有(x,y),只有一個的和x + y符合條件2,所以P得到X, Y的值。(條件3) 從S的第二句話,S知道s的值,也知道P的分析,推出p符合條件3。檢查了s可分拆成的所有(x,y),只有一個的積xy符合條件3,所以S得到X, Y的值。(條件4) 按條件1,s的可能值最小是2 + 3 = 5,最大是100。以下找出s的所有符合條件2的可能值: * 若(x,y)都是質數,則xy有唯一分解,故s不可分拆為(符合條件1的)質數對。排除不小於8的偶數,及2+奇質數。(按照[[哥德巴赫猜想]],大於2的偶數都是兩個質數的和,且對不太大的偶數都成立。不過6不是兩個相異質數的和。) * 若xy = q<sup>3</sup>,q是質數,則xy有唯一分解(q,q<sup>2</sup>),故s不可能分拆為(q,q<sup>2</sup>)。排除6 = 2 + 2<sup>2</sup>。 * 若xy有大於50的質因數q,由於y < 100,因此y = q,即xy有唯一分解(x,q),故s不可能分拆為(x,53)。排除不小於53 + 2 = 55的整數。 * 若xy = 2q<sup>2</sup>,q > 10是質數,由於y < 100,y不等於q<sup>2</sup>,因此xy有唯一分解(q,2q),故s不可能為3q。排除51 = 3·17。 s的餘下的可能值為 :11, 17, 23, 27, 35, 37, 41, 47, 53. (*) 以上的可能值都符合條件2:因為s是奇數,任何分拆出的(x,y)必為一個奇數a和一個偶數2b。 *當b = 1時,a是合數,a ≤ 53 - 2 = 51,故有質因子q ≤ 7,xy = 2a 可分解成a/q和2q,易知其和小於100,符合條件1。 *當b > 1時, :若a ≠ b,則xy = 2ab 也可分解成2a和b。因為a ≤ 53 - 4 = 49, ::2a + b = a + 2b + (a - b) = s + (a - b) ≤ 53 + (49 - 2) = 100 :符合條件1; :若a = b時,a是合數(a不是大於10的質數,也不是小於10的質數,因其3倍都不是s的可能值),a = s/3 ≤ 53/3 < 18,故有質因子3,則xy = 2a<sup>2</sup>也可分解成2a/3和3a, ::2a/3 + 3a < 66 :符合條件1。(也可直接驗證,此時s的可能值是3a,而(*)中只有27是3的倍數。) 以下檢查s的符合條件2的可能值,即(*)中的值,是否滿足條件4: 注意到若p = 2<sup>k</sup> q,其中q是奇質數,則p僅有一個(符合條件1的)分解2<sup>k</sup>和q,使其和是奇數,故此若其和2<sup>k</sup> + q符合條件2,則p滿足條件3。 *11可分拆成(4,7)和(8,3),從上得知兩者的積28和24都符合條件3,故11不滿足條件4。 *類似地,23可分拆成(4,19)和(16,7),27可分拆成(4,23)和(8,19),35可分拆成(4,31)和(16,19),37可分拆成(8,29)和(5,32),47可分拆成(4,43)和(16,31),故23, 27, 35, 37, 47都不滿足條件4。 餘下需要檢查s的可能值 17, 41, 53。17可分拆成(4,13),41可分拆成(4,37),53可分拆成(16,37),這些分拆的積都符合條件3。 *41分拆成(2,39),其積78分解成(6,13),和為19;其積分解成(3,26),和為29,都不符合條件2,故(2,39)的積符合條件3,41不滿足條件4。 *53分拆成(5,48),其積240分解成(15,16),和為31;其積分解成(3,80),和為83,都不符合條件2,故(5,48)的積符合條件3,53不滿足條件4。 檢查17的各分拆: * (2,15)的積可分解為(5,6),其和11符合條件2,故(2,15)不符合條件3。 * 類似地,(3,14)的積可分解為(2,21),和為23;(5,12)的積可分解為(3,20),和為23;(6,11)的積可分解為(2,33),和為35;(7,10)的積可分解為(2,35),和為37;(8,9)的積可分解為(3,24),和為27。各積的上述另一分解的和都符合條件2,故各積都不符合條件3。 因此17分拆成(4,13),其積才符合條件3,故17滿足條件4。 由於17是(*)中唯一滿足滿件4的值,得出s = 17, X = 4, Y = 13。 ==相關條目== * [[謝麗爾的生日]] * [[三個杯子問題]] ==参考== {{reflist}} ==外部連結== * [https://web.archive.org/web/20081010214322/http://people.scs.fsu.edu/~burkardt/fun/puzzles/impossible_puzzle.html Puzzles by John Burkardt] * [http://www.mathematik.uni-bielefeld.de/~sillke/PUZZLES/logic_sum_product The Impossible Problem by Torsten Sillke]{{Wayback|url=http://www.mathematik.uni-bielefeld.de/~sillke/PUZZLES/logic_sum_product |date=20150211073035 }} * [http://mathforum.org/library/drmath/view/55655.html Two Mathematicians Problem on mathforum]{{Wayback|url=http://mathforum.org/library/drmath/view/55655.html |date=20200808181717 }} * [http://www.cs.otago.ac.nz/staffpriv/hans/sumpro/sumproAusAI.pdf Model Checking Sum and Product]{{Wayback|url=http://www.cs.otago.ac.nz/staffpriv/hans/sumpro/sumproAusAI.pdf |date=20170809195507 }} * [http://www.win.tue.nl/~gwoegi/papers/freudenthal1.pdf Survey: The Freudenthal problem and its ramifications]{{Wayback|url=http://www.win.tue.nl/~gwoegi/papers/freudenthal1.pdf |date=20190202134948 }} [[Category:智力游戏]]
该页面使用的模板:
Template:Citation
(
查看源代码
)
Template:Copyedit
(
查看源代码
)
Template:Hidden
(
查看源代码
)
Template:Lang-en
(
查看源代码
)
Template:Link-en
(
查看源代码
)
Template:Reflist
(
查看源代码
)
Template:Wayback
(
查看源代码
)
返回
和與積的問題
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息