8/03/2004

An interesting puzzle and my solution (in Chinese)

有两个自然数X和Y,甲、乙两人足够聪明。把X+Y告诉了甲,把X*Y告诉了乙。然后,甲说:"我不知道X和Y各是多少,但你也不知道。"乙说:"我知道X和Y各是多少了!"甲接着说:"我也知道X和Y各是多少了!"
请问你知道X和Y各是多少?


甲的第一句话:
1,因为甲不知道答案,甲手上的数A可以拆成至少两对不同自然数的和,所以A=x+y>3.
2, 因为甲知道乙不知道答案,这两对自然数的积都可以拆成另外一对自然数的积,也就是说,排除一个是质数一个是1的可能。否则甲知道乙 有可能 知道答案。
乙手里的数是B=x*y, 满足上面两个条件的最小的B=4, 假设B是4,那么乙知道A=1+4=5或者2+2=4,但是如果A=4, 那么甲就会知道x,y可能是1和3,这和条件2矛盾。所以乙判断A=5, x,y是1和4。
假设B>4, 根据条件2,B不能是质数,所以B>=6, 这时A>=5, 总可以写成两个不同数对的和,而且不是1和一个质数。所以乙早就知道甲会说什么,没有新的信息帮助乙判断,因此B不可能大于4。
当甲听到乙知道答案,他知道乙知道了A=5, 也根据上面的推理知道了B=4,所以她也得出同样的答案。
结论:x,y是1和4的解是唯一的。呵呵!:)