Bootstrap

[益智]:学生猜生日、猜数字


题目一

小明和小强都是张老师的学生,张老师的生日是M月N日,2人都知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗?

3月4日 3月5日 3月8日
6月4日 6月7日
9月1日 9月5日
12月1日 12月2日 12月8日

小明说:如果我不知道的话,小强肯定也不知道.
小强说:本来我也不知道,但是现在我知道了.
小明说:哦,那我也知道了.

请根据以上对话推断出张老师的生日是哪一天?

正确思路

排除法:

  1. 小明肯定小强不知道是哪天,排除所有月份里有单独日的月份:6月和12月<因为如果小强的M是2或者7的话,小强就知道了,所以把6月7日与12月2日排除>,所以 小明拿到的是3或者9。
  2. 小强本来不知道,所以小强拿到的不是2或者7,但是小强现在知道了,说明把6月与12月排除后,小强拿到的是1,4,8中的一个<这里小强肯定没拿到5,否则他不会知道是哪天的>
  3. 小明现在也知道了,说明小明拿到的不是3,否则他不会知道是3月4日还是3月8日的,所以 小明拿到的是9才能唯一确定生日

答案:9月1日

题目二

小明和小强是赵老师的学生,张老师的生日是M月N日,张老师把M值告诉小明,N值告诉小强,给他们六个选项:

3月1日 3月3日
7月3日 7月5日
9月1日
11月7日

小明说:我猜不出来
小强说:本来我也猜不出来,但是现在我知道了

请根据以上对话推断出张老师的生日是哪一天?

正确思路

排除法:

  1. 小明说猜不出来,说明小明拿到的不是单独出现的9或者11,说明老师生日只能是3月或者7月

  2. 小强原本不知道,说明小强拿到的不是单独出现的5或者7,说明老是生日是1日或3日

  3. 小强现在知道了,说明小强拿到的是1,因为如果拿到的是3,那么小强就不知道是3月3日还是7月3日了

答案:3月1日

题目三

已知两个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. 乙不知道答案 <=> B=x * y 解不唯一 => B=x * y 为非质数

当不允许重复时:

结论1:B=x * y 非质数且 B ≠ k * k (其中k∈N) 即:B ∈(6,8,10,12,14,15,18,20…)

  1. 甲不知道答案 <=> 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=x1y1=14=4;(不满足推论1,舍去)
  • B2=x2y2=23=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=x1y1=15=5;(不满足推论1,舍去)
  • B2=x2y2=24=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

  1. 乙说"那我知道了" =>乙通过已知条件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 时:容易证明均为多重解

结论(3): 当B=6时有唯一解 x=1,y=6;当B=8时有唯一解 x=1,y=8

  1. 甲说"那我也知道了" => 甲通过已知条件A=x+y及推论(3)可以得出唯一解

综上所述,原题所求有两组解:

  • x1=1,y1=6
  • x2=1,y2=8

当允许重复时:

同理可得唯一解 x=1,y=4


如有不同见解,欢迎留言讨论~~~

;