一个猜数字游戏

数学老师想好了两个自然数 \(m,n\) 满足 \(2 \leq m \leq n \leq 100\) ,他把 \(m,n\) 的和 \(s\) 告诉了 \(S\) 同学,把 \(m,n\) 的积 \(p\) 告诉了 \(P\) 同学,他们都是聪明诚实的学生。进行了下面对话

\(S\): 我不知道 \(m,n\) 的值,但我知道你也不知道。
\(P\): 现在我知道了。
\(S\): 现在我也知道了。
请问 \(m,n\) 的值。

  1. 由第一句话,我们知道 \(s \geq 6\),且 \(p\) 中无大于或者等于 53 的质因数。但是 \(S\) 是如何知道的呢,可见 \(s \leq 54\)。对 数 \(6 \to 54\) 逐一检查发现,除了\(A = \lbrace 11,17,23,27,29,35,37,41,47,51,53 \rbrace\)的其他元素外,其余每个数都可以表示成两个素数的和,因此从第一句话知道,$ s \in A$。

  2. 刚刚推理 \(P\) 同学当然也能完成。由于 \(A\) 中的元素全是奇数,因此,若 \(p = 2^k \cdot (2v+1), k \geq 0, v \geq 0\) 或者 \(p = 2^k \cdot (2v+1)(2j+1), k \geq 0, v \geq 0, j \geq 0\)\(P\) 同学就能确定的知道答案。

  3. \(S\) 同学最后也知道了 \(m,n\) 的值,说明在 \(s\) 所有分解 \(s = m+ n, 2 \leq m \leq n \leq 100\) 中,且有一种满足 \(xy = 2^k v\)
    检查 \(11 = 4+7 = 3+8\), \(23 = 4 + 19 = 7+16\), \(27 = 4+23 = 8+19\), \(35=4+31=16+19\), \(37 = 8+29 = 5+32\), \(47= 4 + 43 = 16+31\), \(51 = 4+47 = 8+43\)
    又因为

\[ 29 = 4 + 25 = 13 +16,\; 41 = 4+37 = 16 + 25,\; 53 = 16 +37 = 21 + 32 \]

其中 \(4 \times 25 = 100 = 20 \times 5\), \(20+5 =25 \notin A\), \(16 \times 25 = 400 = 80 \times 5\), \(80+5 =85 \notin A\), \(21 \times 32 = 672 = 7 \times 96\) ,\(7+96 =103 \notin A\)
因此,只可能 \(s=17\)

\[ 17 = 2+15 = 3+14 = 4+13 = 5+12 = 6+11 = 7 +10 = 8+9 \]

其中只有 \(17 =4 + 13\) 满足 \(P\) 的断言,因此 \(m = 4,n=13\)

此题是我高三(2011 年)在《奥赛金牌之路》中所见,实在很吊,一直铭记于心,特此记录。

一个猜数字游戏

上一篇:liunx启动脚本参照大全


下一篇:最新 IntelliJ IDEA 配置 Git / GitHub 过程演示(2021超详细图文版)