甲知道两数之和,⼄知道两数之积,求两数字

题目:

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

 

posted @ 2012-10-12 15:06  Jack204  阅读(9410)  评论(0编辑  收藏  举报