在网上看到的一个题

———————-问题———————-
教授选出两个从2到9的数,把它们的和告诉学生甲,把它们的积告诉学生乙,让他们轮流猜这两个数。
甲说:“我猜不出”。
乙说:“我猜不出”。
甲说:“我猜到了”。
乙说:“我也猜到了”。
问这两个数是多少 。
(PS:此处是我加的,假设甲乙是绝对聪明而且没有粗心犯错才说出上面的话的)
———————-解答———————-

我的解答:
甲说:“我猜不出”。  ① //此句说明 和theSum可以分解为2个及以上的2-9数字和
乙说:“我猜不出”。  ② //此句说明 积theMul可以分解为2个及以上的2-9数字积,且有至少两组分解的因子和要满足①
甲说:“我猜到了”。  ③ //此句说明 和theSum的分解组合中,有且只有一种组合对应的积满足②
乙说:“我也猜到了”。 ④ //此句说明 积theMul的分解组合中,有且只有一种组合对应的和满足③

如此以来程序就可以实现了,如果一个一个列出来再查找结果也可以,但是那是小学生的做法。
注意要考虑的是这两个数字是否可以相同。