两个数学家的问题,“你不知道我不知道你知道我知道”

来源:互联网 发布:怎么加入淘宝网店 编辑:程序博客网 时间:2024/06/12 01:13

已知两个1~30之间的数字,甲知道两数之和,乙知道两数之积。
甲问乙:“你知道是那两个数么?”乙说:不知道。
乙问甲:“你知道是那两个数么?”甲说:也不知道。
于是乙说:那我知道了
随后甲说:那我也知道了。
这两个数是什么?


允许两数重复的情况下,答案为 x=1,y=4。

甲知道和A=x+y=5,乙知道积B=x*y=4

不允许两数重复的情况下有两种答案

答案1:为x=1,y=6;甲知道和A=x+y=7,乙知道积B=x*y=6

答案2:为x=1,y=8;甲知道和A=x+y=9,乙知道积B=x*y=8


设这两个数为x,y.
甲知道两数之和 A=x+y;
乙知道两数之积 B=x*y;

该题分两种情况 :
允许重复, 有(1 <= x <= y <= 30);
不允许重复,有(1 <= x < y <= 30);
当不允许重复,即(1 <= x < y <= 30);

 

1)由题设条件:乙不知道答案 <=> B=x*y 解不唯一 => B=x*y 为非质数
   又∵ x ≠ y
  ∴ B ≠ k*k (其中k∈N)
 结论(推论1):B=x*y 非质数且 B ≠ k*k (其中k∈N)
 即:B ∈(6,8,10,12,14,15,18,20...)
 证明过程略。

 

2)由题设条件:甲不知道答案 <=> A=x+y 解不唯一 => A >= 5;
 分两种情况:
 A = 5, A = 6 时 x, y 有双解
 A >= 7 时 x, y 有三重及三重以上解
 假设 A=x+y=5
 则有双解
 x1=1,y1=4;
 x2=2,y2=3
 代入公式B=x*y:
 B1=x1*y1=1*4=4;(不满足推论1,舍去)
 B2=x2*y2=2*3=6;
 得到唯一解x=2,y=3即甲知道答案。
 与题设条件:"甲不知道答案"相矛盾 ,
 故假设不成立,A=x+y≠5
 假设 A=x+y=6
 则有双解:
 x1=1,y1=5;
 x2=2,y2=4
 代入公式B=x*y:
 B1=x1*y1=1*5=5;(不满足推论1,舍去)
 B2=x2*y2=2*4=8;
 得到唯一解x=2,y=4
 即甲知道答案
 与题设条件:"甲不知道答案"相矛盾
 故假设不成立,A=x+y≠6
 当A>=7时
 ∵ x,y的解至少存在两种满足推论1的解
 B1=x1*y1=2*(A-2)
 B2=x2*y2=3*(A-3)
 ∴ 符合条件
 结论(推论2):A >= 7

 

3)由题设条件:乙说“那我知道了”=>乙通过已知条件B=x*y及推论(1)(2)可以得出唯一解
 即:
 A=x+y, A >= 7
 B=x*y, B ∈(6,8,10,12,14,15,16,18,20...)
 1 <= x < y <= 30
 x, y存在唯一解
 当 B=6 时:有两组解
 x1=1,y1=6
 x2=2,y2=3 (∵ x2+y2=2+3=5 < 7∴不合题意,舍去)
 得到唯一解 x=1,y=6
 当 B=8 时:有两组解
 x1=1,y1=8
 x2=2,y2=4 (∵ x2+y2=2+4=6 < 7∴不合题意,舍去)
 得到唯一解 x=1,y=8
 当 B>8 时:容易证明均为多重解
 结论:
 当B=6时有唯一解 x=1,y=6当B=8时有唯一解 x=1,y=8

 

4)由题设条件:甲说“那我也知道了” => 甲通过已知条件 A=x+y 及推论(3)可以得出唯一解
 综上所述,原题所求有两组解:
 x1=1,y1=6
 x2=1,y2=8
 当x <=y时,有(1 <= x <= y <= 30);
 同理可得唯一解 x=1,y=4