老师在2到9之间取出两个数, 把和告诉了A, 把积告诉了B,
老师问这两个数是多少?
然后 A说“我猜不出来”,
     B说“我也才不出来”
     A说“我猜到了”
     B说“那我也猜到了”
请问这两个数是多少 ,请给出具体的结论
大家来算算看?

解决方案 »

  1.   

    2到9之间?LZ确信?
    这是经典的S先生和P先生的问题
    如果没记错应该是3和14
    以前也用程序做过,具体不多说了,LZ网上搜索一下吧
      

  2.   

    A第一次必然是猜不出的,
    B第一次猜不出是因为积可以被表示成两种,只有很少几组:
    2×6=3×4=12,2×9=3×6=18,3×8=4×6=24,所以A拿到的只有是7,8,9,10,11
    A第二次猜:
    如果A拿到11的话,A还是猜不出来的,因为可能是2和9,也可能是3和8。
    如果A拿到7的话,他这时能猜到是3和4,但这时候B还是猜不出来的,因为B拿到12,可能是3和4,也可能是2和6。
    如果A拿到8的话,他这时能猜到是2和6,但这时候B还是猜不出来的,理由同上。
    但如果A拿到9,A猜到是3和6,这时B拿到18,这时B也能猜到了,因为不可能是2和9,否则A是猜不到的。
    如果A拿到10,A猜到是4和6,这时B也能猜到,理由同上。
    所以有两组结果:4和6,3和6.
      

  3.   

    直接排除2和3,2和4,2和5,2和6
    如果是3和8,那A知道的是11 B知道的是24,11可能是3和8 4和7,如果是4和7,那B不应该说不知道,如果是3和8,A通过B的回答可以知道结果是3和8,但是B不可能知道结果是3和8,因为乘积为24的组合还有4x6同理排除4和6答案应该是3和4吧,7可能是3+4 2+5 所以A猜不出来是哪一组 乘积是12 ,可能是3x4 或 2x6 B也猜不出来
    当B说也猜不出来的情况下,A可以排除2x5了,因为如果是10,那B应该知道是2和5(只有2x5=10),
    当A说知道了,B也可以排除2x6了,因为如果是2和6,那A通过排除3和5,第一次就回答知道了,所以排除2和6
    因此就只剩3和4是正确答案了
      

  4.   

    第一次b不知道 2*6 = 3*4 = 12, 3*6=2*9 = 18, 3*8 = 4*6=24; 那A的结果只能是7,8,9,10,11;B的结果是12,18,24;
    第二次a知道答案了,所以结果不能是11,排除3+8 = 2+9;  
    b也知道答案了 那么B的结果不能是12,排除 2*6 = 3*4;
    A知道结果是9的时候 ,B的结果是18,可以根据A已经排除了2和9,得到结果3和6
    同理 也可以得到结果 4和6
    所以答案是(3,6)和(4,6)
      

  5.   

    第一条,首先A说 A猜不出来 因为 不止有一对数的和等于A手里的数
    第二条,再说B说 B也猜不出来 因为 不止有一对数的积等于B手里的数,并且这些数对中存在多于一个不唯一的数对(否则这里B就能判断出来)
    第三条,A说 A猜出来 因为 所有和等于A手里数的数对 只有一组的积可以有多种数对表达
    第四条,B说 那B也猜出来了因为在所有乘积等于B手里的数的数对中,和不止一个,切和的组中乘积不止一个的数对只有一个
    满足这个条件的所有和对为[2 8
    3 7
    4 6][2 7
    3 6
    4 5][2 6
    3 5][3 8
    4 7
    5 6]
    所有积相同的数对只有
    [2 6
    3 4]
    2+6=8 
    3+5=83+4=7唯一
    直接就可以判断出来,不满足第2条。所以不是这组[2 9
    3 6]
    2+9=11
    3+8=113+6=9
    4+5=9
    和等于11在和组中
    9的组不在之前求出的和组中
    所以这组满足条件
    [3 8
    4 6]3+8=11
    4+7=114+6=10
    3+7=1011与10都在满足条件的组中。所以这组不满足条件
    所以最终答案只有一组
    3,8