和與積的問題

和與積的問題（英語：Sum and Product Puzzle）是一道邏輯謎題，也稱為不可能的謎題（英語：The Impossible Puzzle），因為它的題面似乎缺乏足夠的解題信息。該謎題由漢斯·弗賴登塔爾得（英语：Hans Freudenthal）在1969年首次發表 ，而「不可能的謎題」這個名字是由馬丁·加德納所提出的。這個謎題是可以解開的，儘管略顯困難。還有很多與之類似的謎題。 註：這謎題有很多個版本。這裡用最原始的版本。 X和Y是二個整數，大於1，和不大於100，而X嚴格小於Y (1 < X < Y, X+Y ≦100)。 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=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=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依照對話可排除大部份的可能解，只留下一個可能解。 情形1（p=30） 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)，並不唯一。 情形2（p=42） 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)，並不唯一。 情形3（p=52 ) 參考數學家P實際的思考方式 情形4（p=60） P知道p=60，可能的答案有(2,30)、(3,20)、(4,15)、(5,12)及(6,10)。P知道s可能是32、23、19、17或16。 若s=32: 根據哥德巴赫猜想及其实际验证表明，至少 4 ⋅ 10 14 {\displaystyle \scriptstyle 4\cdot 10^{14}} 以下的偶数都能表示成两个质数的和，因此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)，並不唯一。 情形5（p=66） 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)，並不唯一。 情形6（p=70） 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)，並不唯一。 情形7（p=72） 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)，並不唯一。 只有情形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 = q3，q是質數，則xy有唯一分解(q,q2)，故s不可能分拆為(q,q2)。排除6 = 2 + 22。 若xy有大於50的質因數q，由於y < 100，因此y = q，即xy有唯一分解(x,q)，故s不可能分拆為(x,53)。排除不小於53 + 2 = 55的整數。 若xy = 2q2，q > 10是質數，由於y < 100，y不等於q2，因此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 = 2a2也可分解成2a/3和3a， 2a/3 + 3a < 66 符合條件1。（也可直接驗證，此時s的可能值是3a，而(*)中只有27是3的倍數。） 以下檢查s的符合條件2的可能值，即(*)中的值，是否滿足條件4： 注意到若p = 2k q，其中q是奇質數，則p僅有一個（符合條件1的）分解2k和q，使其和是奇數，故此若其和2k + 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。 謝麗爾的生日 三個杯子問題 Hans Freudenthal, Nieuw Archief Voor Wiskunde, Series 3, Volume 17, 1969, page 152 Gardner, Martin, Mathematical Games: A Pride of Problems, Including One That Is Virtually Impossible, Scientific American, December 1979, 241: 22–30 . Puzzles by John Burkardt The Impossible Problem by Torsten Sillke（页面存档备份，存于互联网档案馆） Two Mathematicians Problem on mathforum（页面存档备份，存于互联网档案馆） Model Checking Sum and Product（页面存档备份，存于互联网档案馆） Survey: The Freudenthal problem and its ramifications（页面存档备份，存于互联网档案馆）