《怎样解题:数学竞赛攻关宝典(第3版)》第 37 页:

题 2.2.29 康威的售票员问题。   伟大的数学家约翰·康威认为户口调查员问题有一个美学上的缺陷, 因为这个问题的陈述涉及一个特定的整数。 他写下了以下巧妙的问题, 它有一个唯一的整数答案, 但没有提到具体的整数!

我坐在公交车上,无意中听到两个售票员的谈话。 售票员 A 说:“我有正整数个孩子, 他们的年龄是正整数。 他们的年龄之积是我自己的年龄, 年龄之和就是这辆公交车的号码。” 售票员 B 看了看车号说: “也许你告诉我你的年龄和你有多少个孩子, 我就可以算出他们的年龄了?” A 回答:“不,你还是会被难住的。” 突然 B 喊道:“我终于知道你的年龄了!”

问:公交车的号码是多少?


我们引入以下变量:

  • a: 售票员 A 的年龄(the age of the wizard)
  • b: 公交车的号码(the number of the bus)
  • c: 孩子的数量(the number of the children)

题目中的公交车的号码是指第几路公交车。 这道题目仅要求 a, b, c 都是正整数, 而不用考虑它们是否符合生活常识。 比如,如果需要,a 可以是 1 或者 4096。

要解答这个问题,有两个要点:

  1. 给定 a, b, c,售票员 B 无法推断出各个孩子的年龄
  2. 给定 b,售票员 B 可以推断出 a 的(唯一的)值

举例来讲,假设 b = 5,可能的情形如下所示:

  • a = 1, c = 5, (1, 1, 1, 1, 1)
  • a = 2, c = 4, (1, 1, 1, 2)
  • a = 3, c = 3, (1, 1, 3)
  • a = 4, c = 3, (1, 2, 2)
  • a = 4, c = 2, (1, 4)
  • a = 5, c = 1, (5)

可以看出,当 b = 5 时, 给定 a, b, c,售票员 B 可以推断出各个孩子的年龄,不满足第 1 个要点。 因此,b ≠ 5。 容易验证,b > 5。


假设 b = 21,可能的情形有:

  • a = 96, c = 3, (1, 8, 12)
  • a = 96, c = 3, (2, 3, 16)

此时,售票员 B 无法推断出各个孩子的年龄,满足第 1 个要点。 但是,可能的情形还有:

  • a = 240, c = 3, (4, 5, 12)
  • a = 240, c = 3, (3, 8, 10)

也就是说,a 可以是 96 或 240, 售票员 B 无法推断出 a 的(唯一的)值,不满足第 2 个要点。


假设 b = 22,可能的情形有:

  • a = 96, c = 4, (1, 1, 8, 12)
  • a = 96, c = 4, (1, 2, 3, 16)
  • a = 240, c = 4, (1, 4, 5, 12)
  • a = 240, c = 4, (1, 3, 8, 10)

可以看出,我们总可以增加一个 1 岁的孩子, 这不会改变 a 值,但是会使 b 值增加了1。 因此,b < 21。

请读者不要往下看,试着自己解出这道题。


答案是:公交车的号码是 12。 以下情形满足第 1 个要点:

  • a = 48, c = 4, (1, 3, 4, 4)
  • a = 48, c = 4, (2, 2, 2, 6)

其他情形还有:

  • a = 1, c = 12, (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
  • a = 2, c = 11, (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2)
  • a = 4, c = 10, (1, 1, 1, 1, 1, 1, 1, 1, 2, 2)
  • a = 6, c = 9, (1, 1, 1, 1, 1, 1, 1, 2, 3)
  • a = 11, c = 2, (1, 11)
  • a = 12, c = 1, (12)
  • ……

容易验证,在这些情形下,给定 a 和 c 可以推断出各个孩子的年龄。 因此,售票员 B 可以推断出 a 的值为 48,满足第 2 个要点。


假设 b = 13,可能的情形有:

  • a = 36, c = 3, (1, 6, 6)
  • a = 36, c = 3, (2, 2, 9)
  • a = 48, c = 5, (1, 1, 3, 4, 4)
  • a = 48, c = 5, (1, 2, 2, 2, 6)

所以 b < 13。

验证 b 不能小于 12 的任务留给读者。


以上解答来源于: