题目:
已知两个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