允许两数重复的情况下
答案为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