万书网 > 其他 > 陶哲轩教你学数学 > 第6章 其他例题

第6章 其他例题

    有时候,数学会被看成一个庞大的体系,就像一棵树那样。它分成若干个大的分支,而这些大分支又各自划分成许多专门的领域。你只有到达树的末端才能看到花朵和果实。

    然而,对数学进行如此整洁详细的划分并不是一件容易的事。其原因在于,这些分支之间总会存在一些模糊的领域,而且还有一些特殊领域存在于经典领域之外。

    接下来的这些问题既不完全属于博弈论和组合学,也不完全在线性规划范畴之内。它们只不过是一些很有趣问题。

    问题 6.1 (泰勒,1989,第 25 页,问题 5) 假设某个岛上生活着 13 只灰色的变色龙,15 只棕色的变色龙以及 17 只深红色的变色龙。当两种不同颜色的变色龙相遇时,它们都会变成第三种颜色(例如,一只棕色变色龙和一只深红色的变色龙相遇后,它们都会变成灰色),而且这是它们唯一的变色机会。请问:岛上所有的变色龙最终是否有可能都变成同一种颜色?

    题目中的“最终”一词使得这个问题多少有些开放式问题的味道。这意味着,我们需要确定在变色龙所有可能的颜色组合中是否存在这样一种可能性:全体变色龙具有同一种颜色。

    从启发式思维的角度来看,首先应该尝试一下“答案是否定的”这种可能性。如果答案是肯定的,那么就应当存在一系列具体的步骤来实现这个目标。这听起来更像是个计算方面的问题,而不是数学方面的。此外,这个问题出自数学竞赛,所以我们有理由相信对这个问题的肯定回答是不正确的。因此,我们试着去证明否定的答案。

    为了证明这一点,先弄清楚哪些状态是可以实现的以及哪些状态是无法实现的,或许是个不错的主意。一旦找到了其中的规律,也就有了明确的证明目标。正如在前面几章中所看到的那样,想要解决一个数学问题,你通常需要先猜测一个中间结果。 这个中间结果可以推导出结论,但它在逻辑上并不与结论等价。虽然从逻辑角度来看你可能需要证明一个更难的问题,但实际上它会提出一个与已知条件更加接近的目标,也会有一个更明确的努力方向。另外一点好处就是,把结论进行推广有助于删除一些无关紧要的信息。

    下面给出一个简单的例子。假设在国际象棋棋盘的一个角上放着一个象(象沿对角线移动),我们要证明这个象绝不可能移动到与它相邻的角(即任意一个不与它相对的角)上。不直接证明这个结论, 而是去证明更一般的“该象只能移动到具有相同颜色的方格内”这一结论(棋盘是由黑白交错的方格组成的)。从逻辑角度来看,要证的内容变得更多了,但现在很容易就能看出下一步应该怎么做(象每移动一次都会停留在相同颜色的方格中;因此,不管它怎么移动都无法离开这种颜色的方格)。

    不管怎样,我们先引入一些恰当的符号(即一些数字和方程)。在任何给定的时刻,唯一的重要信息只能是灰色变色龙的数量、棕色变色龙的数量以及深红色变色龙的数量(题目的设定不允许变色龙有任何其他额外的颜色)。可以用一个三维向量把上述信息有效地表示出来。于是,变色龙的初始状态就是 (13,15,17);而题目要问的则是,能否通过改变颜色让变色龙达到 (45, 0, 0)、(0, 45, 0) 或者 (0, 0, 45) 的状态。这种改变颜色的操作就是把其中两个坐标分量都减去 1,同时把第三个坐标分量加上 2。因此,我们将得到一个向量表达式,而它实际上就是一个解决问题的突破口。

    (下面给出证明的一个简要轮廓。设 , 和 。此时,两只变色龙相遇就可以表示成把向量 、 和 中的一个加到当前的“状态向量”上。于是,系统所能达到的任何一个状态都必定可以表示成 的向量形式,其中 、 和 都是整数。因此,要证明的就是像 (45,0,0) 这样的向量无法表示成上述形式。这在克莱默法则和初等丢番图运算中是一件很简单的事情。)

    来尝试一种更好的方法。就像前面的概述那样,找出变色龙所有可能的颜色组合。首先,变色龙的总量是保持不变的,但这在本题中没有多大用处(尽管在一些类似的问题中,有时考察总体数量会是个不错的想法)。其次,两只颜色不同的变色龙将“融合”成第三种颜色。我们要重点考察这种融合现象。这类似于把两个水平面高度不同的容器底部连通时它们的水位就会“融合”到中间位置,但两者所容纳的总水量是保持不变的。那么能不能说“颜色总量”保持不变呢?

    显然要定义“颜色总量”这个概念,使它能够很好地适用于数学领域。例如,一只灰色的变色龙和一只深红色的变色龙将“融合”成两只棕色的变色龙。如果把灰色的色值设定为 0,棕色的色值设定为 1,深红色的色值设定为 2,那么此时的“颜色总量”就是恒定的(一个 0 和一个 2 合并成两个 1)。但是,当我们试图融合一只深红色的变色龙和一只棕色的变色龙时,上面这种说法就不成立了。这 样看起来,好像找不到一个分值体系能够同时适用于融合的所有三种(甚至两种)可能情况。

    造成这种困境的原因在于“融合”操作具有循环性,但也不要因此而彻底放弃!取得部分成功(或部分失败)可能是迈向真正成功的其中一步(那么同样地,对于那些微不足道的成功,也不要太过兴奋)。考察三原色:红色、蓝色和绿色。当一束红光和一束绿光重合时, 就得到了一束具有双倍亮度的紫色光,即一束非蓝色的光。这三种原始颜色也是相互循环的。根据这种色光原理,我们能否通过类比得到一些启示呢?

    这两个问题唯一的本质区别就是,在三原色问题中,红色和绿色合成的是非蓝色,而不是蓝色。但是,等一下!可以利用模运算的方法让蓝色等价于非蓝色。根据这一点,尝试考察 的向量:向量以 (1,1,1) 为开端,要阻止它变成 (1, 0, 0)、(0, 1, 0) 或 (0, 0, 1)。遗憾的是,这种做法行不通。但现在我们已经突破了瓶颈,可以去尝试一下其他模数。我们很快想到了模数 3(毕竟,这里循环的颜色有三种)。现在可以采用下述方法中的任何一个来求解问题。

    (向量方法)初始向量 (13,15,17) 现在就变成了 ;而研究结果显示颜色的改变只能使向量变成 (1, 0, 2)、(0, 1, 2) 和 (1, 2, 0),绝不可能产生三个目标向量 (45, 0, 0)、(0, 45, 0) 和 (0, 0, 45) 中的任何一个,因为它们都等于 。

    (颜色总量的方法)之前讨论过的计算“颜色总量”的方法为每种颜色的色值指定了一个数。 既然已经想到了模数,那么为什么不利用模运算来设定色值呢?例如,把灰色的色值设定为 ,棕色的色值设定为 ,深红色的色值设定为 。这种方法是可行的,因为总色值一定能够保持不变(融合的三种可能情况都不会改变总色值——你可以自己试一试)。总色值最初等于 ,但我们的三个目标(45 个灰色,45 个棕色或者 45 个深红色)的色值都等于 。

    习题 6.1 6 位音乐家一同参加某个音乐节。在每场音乐会上,一些音乐家演奏,而其他音乐家都作为观众在台下倾听。为了使每一位音乐家都能作为观众欣赏到其他所有音乐家的表演,请问至少需要安排多少场音乐会?(提示:显然,在一场音乐会上,并不是每一位音乐家都能欣赏到其他所有音乐家的演奏,所以为了保证实现所有“欣赏的可能性”,音乐会一定不止一场。沿着这种思路并引入一种恰当的“记分”方法,你将会得到音乐会场数的一个合理下界。接下来再找到一个满足下界的例子,问题就解决了。)

    习题 6.2 3 只蚱蜢位于同一直线上。每一秒,都会有一只(且只有一只)蚱蜢跳过另一只蚱蜢。证明:在 1985 秒之后,3只蚱蜢的排列次序不可能与初始状态一样。

    习题 6.3 假设有 4 枚棋子摆成一个边长为 1 的正方形。现在假设你走棋的次数不受限制;而且你每次走棋都会跳过一个事先选定的棋子,从而到达一个新的位置。同时,这个被跳过棋子与走棋棋子新位置的距离要等于它与走棋棋子原来位置的距离(当然,方向是相反的)。此外,对于两枚棋子距离多远才能这样跳没有任何限制。那么通过移动这些棋子,能否将其重新排成一个边长为 2 的正方形呢?(如果你的思路恰好对路,那么这个问题就有一种非常完美的解法。)

    问题6.2 爱丽丝、贝蒂和卡罗尔三人参加同一系列考试。在每一门考试中,都有一人的分数为 ,另一人的分数为 ,而第三个人的分数为 ;其中 是不同的正整数。 在完成所有考试之后,爱丽丝的总分是 20,贝蒂的总分是 10,而卡罗尔的总分是 9。如果贝蒂的代数成绩排名第一,那么谁的几何成绩排名第二?

    这个题目给出的信息非常少,我们所知道的似乎只有最后的总分。那么该如何由总分得到各个单科的成绩呢?由于题目中还提供了其他可以利用的信息,应该能够找到答案。首先,在每次考试中(我们并不知道一共有几门考试),都有一个女孩的分数为 ,另一个女孩的分数为 ,第三个女孩的分数为 。这是一条不寻常的信息,该如何利用它呢?

    首先,可以试着把它与第三条信息(即贝蒂的代数成绩排名第一)配合在一起使用。这意味着贝蒂的代数成绩是 、、 三者中最高的那个。为了方便讨论,不妨设 是三者中最大的, 是三者中最 小的;也就是说,(不要忘了已知 、、 是三个不同的数)。我们没有丢失任何信息,而是进一步简化了问题: 认为贝蒂的代数成绩是 分。

    但对于其他科目的考试,我们仍然不太了解她们得分的各种可能性。例如,在几何考试中,可能是爱丽丝得 分,贝蒂得 分,卡罗尔得 分;但也可能是爱丽丝得 分,贝蒂得 分,卡罗尔得 分。在所有这些可能的结果中,有没有哪个量是保持不变的呢?哦——在每次考试中,三个人的分数之和是保持不变的。不管 、、 在三人之间是如何分配的,每次考试的分数之和始终等于 。关于分数之和,还知道哪些信息呢?我们还知道三个人所有考试的分数之和是 20 + 10 + 9 = 39,于是有

    其中 是考试的门数。现在得到了一个与考试门数有关的公式,而之前我们对考试门数几乎一无所知。这将有助于进一步展开论述。

    但是,只有单独一个方程好像是不够的。一定要记住 、、、 都是正整数,而不仅仅是实数。另外,我们还有第四条信息,即 、、 是三个不同的数。这些信息能够帮助我们减少上式中 、、、 的可能情况。

    因为知道 、、、 都是正整数,所以上面的方程就具有下列形式:

    (正整数) × (正整数) = 39。

    因此, 和 一定都是 39 的因数。39 的因数只有 1、3、13 和 39 这四个数,于是得到如下四种可能的情况:

    (a) 且 ;

    (b) 且 ;

    (c) 且 ;

    (d) 且 。

    这四种可能的情况并不都是正确的。例如,(a)这种可能情况表明了只进行了一场考试,但这与题意是相互矛盾的,因为题目中已 经暗含至少进行了两场考试(代数和几何)。对于 (c) 和 (d) 这两种可能情况,除了考试门数不合理之外,由 、、 是三个不同的正整数可知三者之和至少等于 ,这样就说明了它们是不成立的。于是,唯一没有排除的可能情况就是 (b):一共进行了三门考试,并且 。

    现在,可能情况少了很多。但还有两件非常重要的事不太清楚:我们不知道 、、 的精确值以及三个人在每场考试中的具体得分。利用 、、 是三个不同的正整数以及三者之和等于 13 这个事实,第一个问题可以得到部分解决。第二个问题则可以根据贝蒂的代数 成绩是 分这一事实得到部分回答。那么该如何改进这些不完整的结果呢?

    每个人的总分这条信息还没有得到充分利用。通过观察她们的总分,我们发现爱丽丝的成绩比贝蒂和卡罗尔的成绩好很多,这暗示着她可能在每一门考试中都取得了较高的分数(也就是 和 )。但因为贝蒂在一门考试中取得了最高分,所以爱丽丝不可能每门考试都得 分;她可能取得的最好成绩是两个 分和一个 分。类似地,在任何一门考试中,卡罗尔都不太可能取得最高分 ;更可能出现的情况是她大部分成绩都是 。 那么能否把这些推测转化成严谨的数学结果呢?

    目前只能回答“或许吧”。下面以爱丽丝的分数为例进行说明。她有可能取得的最高分是 。也许能够证明爱丽丝的总分恰好就是 。毕竟,爱丽丝的成绩比另外两个女孩好很多,因为 20 要远大于 10 和 9。那么爱丽丝的总分还有哪些其他可能的情况呢?她的总分还可能是 , ,,,,, 以及 。最后列出的几个分数看起来太低了,不太可能达到 20 分,所以它们很有可能被排除掉。为了给出上述结论的严谨证明,需要 、、 各自的一个恰当上界。这就是接下来的任务:通过对 、、 的限制来排除若干可能的情况。

    关于 、、,我们所知道的全部信息只有 、、 都是整数, 以及 。但这些信息足以对 、、 分别确定一个好的界限。例如,对 进行处理。 的取值不可能太大,否则 和 也会变得很大,可能导致 大于 13。具体来说, 至少等于 ,而 至少等于 。于是

    这样就得到了 。在没有给出进一步信息的前提下, 就是 的最好上界。此时,我们能够得到一个可行的组合 ,,。

    现在来处理 。按照与上面类似的思路,用 来约束 。对于 ,只能得到它的一个下界 1。但这些信息已经够用了,有

    于是 。这同样是一种最好的可能情况,因为此时存在一个可行的组合 ,,。最后,我们对 寻找一个界限。因为 至少为 1 且 至少为 2,所以 ,于是 。这也是一种最好的可能情况,因为此时有 ,,。

    于是我们现在知道了 , 和 ,但我们还可以做得更好。不要忘记,贝蒂得到了一个 分和两个其他分数。因为贝蒂的总分只有 10 分,所以 不可能等于 10。倘若 ,那么贝蒂的另外两门考试就都得了零分。已知所有分数都一定是正整数,因此 这种情况不可能发生。实际上, 也不可能等于 9。否则,贝蒂其他两门考试的分数之和就是 1。这意味着贝蒂有一门考试得了零分,而这又是一个矛盾。因此,实际上 。现在可以进行更严格的筛选:不难看出,爱丽丝的总分事实上只有 这唯一一种可能性,其他所有可能的情况都无法达到 20。例如, 最多等于 。

    因此,爱丽丝得到了两个 分和一个 分。因为贝蒂在代数考试中得了 分,所以爱丽丝的代数成绩一定是 分。可以把这条信息和其他的已知信息整理成下面这张表格。

    考试科目

    爱丽丝

    贝蒂

    卡罗尔

    总分

    代数

    ?

    13

    几何

    ?

    ?

    13

    其他

    ?

    ?

    13

    总分

    20

    10

    9

    39

    现在我们可以看到,卡罗尔的代数成绩一定是 分,原因在于 是剩下的唯一分数。

    我们距离目标越来越近了。在贝蒂和卡罗尔之间,有一个人的几何成绩排名第二,得到了 分。但是尚不确定这个人到底是谁。通过观察表格中爱丽丝那一栏,我们得到了另一条信息,即 。又因为 且 ,于是能够得到两个解:, 或 ,。根据 可知 , 是不成立的,因为这会造成 。因此,我们只有唯一的解 ,,据此又可以进一步得到 。 于是完全确定了 、、 的值,从而取得了重大突破。现在来更新上面的表格。

    考试科目

    爱丽丝

    贝蒂

    卡罗尔

    总分

    代数

    13

    几何

    ?

    ?

    13

    其他

    ?

    ?

    13

    总分

    20

    10

    9

    39

    从表格中能够轻松看出,贝蒂在几何考试和其他考试中都得了 分,而卡罗尔在这两门考试中都得了 分。因此,问题的答案是:卡罗尔的几何成绩排名第二。

    问题 6.3 (泰勒,1989,第 16 页,问题 3) 两个人玩一个游戏,他们的道具是由 60 个小块组成的一块 的矩形巧克力。第一个人沿着划分小块的浅槽掰下一部分巧克力,并把掰下的部分丢掉(或吃掉)。接下来,第二个人按照同样的方法从剩下的巧克力中掰下一部分,然后丢掉。游戏就这样持续进行下去,直到剩下最后一小块巧克力为止。能把最后一小块巧克力留给对方的那个人就是游戏的赢家(即最后一个掰巧克力的人)。请问哪个人有完美的获胜策略?

    顺便说一下,在任何一个步数有限的游戏中,一定有个玩家具有某种取得胜利(或者平局)的策略。这可以通过对游戏的最大步数运用归纳法来轻松证明。即便是国际象棋也会受到这样的限制,尽管目前还没有人发现这种公认极其复杂的策略。因为问题中的这个游戏不会出现平局的状况,所以其中一个玩家必定 会有一个完美的获胜策略。这个赢家会是谁呢?

    首先,把这个有关巧克力的问题简化成一个数学问题。先对掰巧克力的过程进行形式化。掰过巧克力的人应该都知道,掰巧克力的唯一方法是把它变成两个矩形,而且边缘不是锯齿状或者歪斜的。从本质上来说,我们是把一个 的矩形缩成一个更小的矩形,并且这个小矩形的长或者宽与原来的矩形是一样的(参见示意图,图中的虚线是被掰开的地方)。这也就是说,当这块巧克力被掰开 之后,剩下的那部分是一个与原来的巧克力宽度相等但长度较短,或者长度相等但宽度较窄的矩形。例如,下图中 的巧克力将被掰成一个 的矩形(其余 的巧克力块都被丢掉或吃掉了)。

    现在为这个矩形引入一些记号,最好是数字符号。该如何用数字来描述这个矩形的巧克力呢?显然,我们可以用长和宽来描述它。于是,我们可以说原来的巧克力是一个 的矩形块,或者用向量符号把它记成 。巧克力所在的位置无关紧要,它的尺寸才是最重要的。我们的目标是把 这样一小块巧克力留给对方。那么需要遵循什么样的规则呢?可以沿着横向或者纵向掰下一块巧克力,当然掰下的长度或宽度不可 能是零或负数。例如,我们可以从 这个位置移动到下面的任何一个位置:

    总之可以水平向左或垂直向下移动。下面的示意图对这种移动作出了抽象的演示。当从 (6,10) 处开始移动时,它给出了我们可能达到的两种状态。

    既然现在有了关于这个巧克力问题的一个非常好的数学模型,那么就可以从数学角度来重新叙述这个问题(但这样就没那么生动了)。

    两个人轮流移动格子上的一点。每次都可以把这个点向左或者向下移动整数个格,但该点不能接触或越过两条坐标轴中的任何一条。点的初始位置是 (6,10)。能把点移动到位置 (1,1) 的人就是赢家。请问哪个人拥有完美的获胜策略?

    也可以像下面这样表述。

    两个人轮流从两排筹码中取筹码。每个人都必须从上排或下排中取筹码,但不能同时从两排中取。最初,上排有 5 个筹码,下排有 9 个筹码(这代表了点 (6,10))。能够拿到最后一个筹码的人就是游戏的赢家。请问哪个人拥有完美的获胜策略?

    这种表述所作出的一点修改是,从上排和下排中都减去了 1。对于那些熟悉尼姆游戏的人而言,这应当是很强的暗示;他们很容易就可以解决这个问题。即便没有尼姆游戏和博弈论方面的知识,我们也可以解答这个题目。

    现在有了符号以及一个抽象的数学模型。下面要做的就是充分地理解这个问题。问题在于 的巧克力有很多种可能的掰法,而我们的实验应当从一块较小的巧克力入手。先考虑一块 的巧克力。

    第一个人掰完后,余下的巧克力可能是下列情况中的任何一个:, 或者 。把 或者 块留给对方是一种愚蠢的做法,因为此时第二个人只需要掰掉除了最后一个 块之外的所有部分就能获得胜利。 因此,第一个人应当留给对方一个 的巧克力块。这样,第二个人就只能留下一个 或者 的巧克力块。于是,第一个人只需要再掰掉剩余巧克力的一半就能留给对方一个 的巧克力块,从而获得胜利。因此,对于 的巧克力块,第一个人能够获胜。

    我们并没有从上面这个例子中得到很多信息,所以再尝试另一个 的例子。此时,第一个人有如下可能的选择:,, 或者 。根据对称性,我们可以很快地排除最后两种选择。 这个选择是很愚蠢的,因为第二个人只需要掰掉除最后一小块之外的所有部分就能获胜。但是,留给对方 块同样不是个好办法。 因为已经在上一段中讨论过这种情况!此时,第二个人可以采取上一段中第一个人所采取的策略:留下一个 的巧克力块,这将迫使第一个人不得不留下一个 的块,此时第二个人掰完后就能留给对方一个 的巧克力块,进而获得胜利。于是, 对于 的巧克力块,第一个人无法取胜。

    利用对 巧克力块问题的求解,我们解决了 巧克力块的问题。这暗示着对于一般情形的问题,可以采用归纳法来求解。例如,假设希望求解有关 巧克力块的问题,并且已经知道在 , , 以及 的巧克力块问题中,能够获得胜利的都是第一个人;但在 的巧克力块问题中,第一个人却是输家。那么在 的巧克力块问题中,第一个人的策略就是把 的巧克力块留给对方, 因为此时第二个人一定会输。因此,第一个人的策略就是,把一个对方不得不掰、但一掰就输的块留给对方。为什么这些块可以确保对方输呢?因为无论对方怎么掰,这些块都能确保第一个人获得胜利。 这些块之所以能够确保他获得胜利,是因为可以把它掰成一个令对方必输的块,依此类推。因此,策略就是找到所有能够确保必胜的块以及确保必输的块。

    是一个明显的必输块。因为它无法掰分,所以游戏结束。(其中 ) 是必胜的块,因为第一个人可以把它掰成一个令对方必输的 块。 也是个必输的块,因为掰它的人必定会留给对方一个必胜的 块。现在可以说 (其中 )是一个必胜的块,因为我们可以留给对方一个必输的 块。依此类推。我们注意到以下两点。

    如果 是一个必输的块,那么 (其中 )就是一个必胜的块。原因在于,掰 块的人会留给对方一个 块。例如,因为已经证明了 是一个必输的块,所以 , 和 等都是必胜的块。

    仅当对 块的所有可能掰法都能留下对方必胜的块时, 才是必输块。例如,就像前文中已经证明的那样,, 和 ,以及对称的 , 和 都是必胜的块,于是 一定是个必输的块。

    我们可以按照这种系统的方法继续进行下去,直到 块。但为什么不让这个过程更数学化一些呢?对于那些必胜块以及必输块,应该会存在某种规律。那么目前所知道的必胜块以及必输块都有哪些呢?已经得到的必胜块有

    而已知的必输块有 ,, 以及 。

    这很好地证明了必输的块只有 块(即方块),而其他所有的块都能确保获得胜利。一旦有了这种策略,我们甚至没必要去证明(尽管你可以利用归纳法去证明),而只需要去利用它就可以了。记住,我们想要留给对方一个必输的块。 一旦能猜到哪块是必输的,就可以使用策略始终把必输块留给对方。如果这种策略能一直奏效, 那当然很好。倘若不是这样,那就说明我们的猜测是错的。总而言之,如果猜测是正确的,那么最优的策略就是把方块留给对方。因此,对于 的方块,第一个人有如下策略。

    掰下一部分巧克力,剩下一块 的巧克力(对第二个人来说,这是个必输块)。无论第二个人怎么掰,接下来仍把余下的巧克力掰成一个方块。例如,如果第二个人留下一块 的巧克力,那么就把它掰成一个 的方块。不断重复这个过程,始终留给对方一个方块,直到最后把一块 的巧克力留给对方(这样对方就输了)。

    这种策略的确有效,因为不管对方怎么掰巧克力,他都会剩下一块非正方形的巧克力,而这块巧克力可以很容易地被再次掰成一个方块。另外,因为巧克力的尺寸不断变小,所以正方形的巧克力最终会被掰成一个 的方块。于是, 利用一些不十分严谨的数学知识,我们最终得到了一个可行的策略,而这正是我们想要的。

    总之,这是技巧类游戏取得胜利的一种标准方法:确定所有赢的状态和输的状态,然后始终向着赢的状态前进。专业的技巧类游戏参与者都会使用这种方法,尽管他们无法准确地判断赢或输的状态, 而是只能推测出“有利”或“不利”的状态。例如,在国际象棋中,我们之所以说某一步是“好棋”或者“臭棋”,不就是因为这一步能使局面向着有利或者不利的方向转变吗?几乎没有哪个棋手能靠随意走棋,而不靠尝试向着有利的方向转化来取得胜利。

    习题 6.4 两个人用筹码做游戏。刚开始共有 153 个筹码。两人轮流取走筹码,并且每人每次所取走的筹码个数介于 。能够取走最后一个筹码的人是赢家。两人中是否存在必胜的策略?如果存在这种策略,那么它是什么?

    习题 6.5 两个人用 个筹码做游戏。两人轮流取走筹码,并且每人每次所取走的筹码个数必须是 的方幂。能够取走最后一个筹码的人是赢家。对于 的下列取值,确定当 取什么值时,第一个人有获胜的策略;以及当 取什么值时,第二个人有获胜的策略。

    (a) 。

    (b) 。

    (c) 。

    (d) 一般情况。

    习题 6.6 重复上面这个习题,但现在把目标改成争取输。也就是说,迫使对方取到最后一个筹码。(如果思路正确,那么你就能很容易找到答案。)

    习题 6.7 考虑问题 6.3 的一个三维形式。从一块 的巧克力开始,每个人都可以沿着三维中的任意一个方向去掰这块巧克力。哪个玩家获胜?获胜策略是什么?

    习题 6.8 在五子棋游戏中,两个玩家(白方和黑方)轮流把棋子放在一张 的棋盘上。如果有一方能够使自己的5颗棋子排成一行(在任何方向上),那么这一方获胜。如果棋盘已经被棋子填满,但仍然没有出现5颗颜色相同的棋子排成一行,那么游戏就是平局。证明:第一个玩家有一种保证至少是平局的策略。 (提示:你需要利用反证法证明。先证明如果第一个玩家不能保证至少是平局,那么第二个玩家就有一种获胜的策略。然后让第一个玩家“偷用”这种策略。)

    问题 6.4 (Shklarsky 等, 1962,第 9 页) 两兄弟卖一群羊。每只羊的售价(卢布)等于最初羊群中羊的只数。兄弟两人按照下列方式分配收入:哥哥先拿走 10 卢布,弟弟再拿走 10 卢布,接下来哥哥再拿走 10 卢布,依此类推。到最后轮到弟弟拿钱时,他发现剩余的钱已经不足 卢布,于是拿走了剩下的所有钱。为了使分配更加公平,哥哥把自己的小刀给了弟弟,而这把小刀的价格是整数卢布。请问,小刀的价格是多少?

    在看到这个问题之后,我们的第一反应可能是这个问题似乎没有给出足够的信息。其次,这个问题好像也不十分严谨。但在没有进行任何尝试之前就失去解决问题的希望也是不对的。看一看问题 6.2,它开始给出的信息更少,但最后仍然得到了解决。

    应该先试着用方程来表述这个问题。为此,需要引入一些变量。首先,注意到小刀的价格最终依赖于羊群中羊的只数,而羊的只数是这里唯一的独立变量(也就是说,羊的只数决定了一切)。我们不妨设共有 只羊,那么每一只羊都卖了 卢布。所以总收入是 卢布。

    现在来看一下收入是如何分配的。假设总共有64卢布。那么哥哥先拿走了 10 卢布,然后弟弟也拿走了 10 卢布,依此类推。但我们发现,最后 4 卢布被哥哥拿走了,而不是弟弟,所以这种情况是不可能发生的。不要忘了,题目中给定的信息是“最后拿走现金的人是弟弟”这一事实。那么该如何用数学语言来表述这个事实呢?

    为了用数学语言来表述这个事实,我们需要大量的方程和变量(需要足够的方程来描述这种情形,但不能造成混淆或者引起冗余)。假设在取走最后的零头之前,弟弟已经拿了 次 10 卢布。那么哥哥也已经拿了 次 10 卢布,而且还要加上 10 卢布——这 10 卢布是哥哥在弟弟取走最后的零头之前拿走的。这样,最后剩下的零钱就只有 卢布[ 是 (包括 1 和 9 在内)的某个数;而题意似乎暗示 是非零的]。所以,卢布的总数一定是

    或者

    但这与小刀有什么关系呢?我们想求的因变量是小刀的价格 。我们需要一个能把 和其他变量联系起来的方程,而这个方程最好能把 和独立变量 联系在一起。在哥哥送给弟弟小刀之前,哥哥一共拿走了 卢布,而弟弟一共拿走了 卢布。一旦小刀被送出,哥哥的收入就变成了 ,而弟弟的收入就变成了 。为了保证公平,此时兄弟两人的收入一定是相等的。这样就得到了一个联系 和 的有用方程

    现在把上式带入前面的方程,这样就能够得到一个关联 和其他变量的方程。于是有(在这个过程中消去 )

    我们要利用这些方程求 的值。因为我们不知道 、 和 的值,所以这里好像没有给出足够的信息。那么如何进一步缩小范围呢?这里的根本问题在于出现了太多的未知量。我们可以利用模运算消掉其中的一些未知量。例如,(2) 式可以利用 消掉 ,从而得到

    距离求 的目标越来越近了。但我们还要去处理让人头疼的 。幸运的是,可以利用这样一个事实:在模运算中,平方数的取值是有限制的。事实上,对于,平方数只能取 0, 1, 4, 5, 9, 16 中的某个值。换句话说,有

    或

    为了求 (记住 一定是个偶数),有

    这样就得到了一个关于 的方程,但目前我们还无法给出它的精确值。上面这个式子表明小刀的价格可能是 0 卢布、2 卢布、8 卢布、10 卢布、12 卢布等。但小刀的价格不可能太贵,不是吗?毕竟,弟弟只不过少得了 10 卢布或者更少。按照这样的思路来思考,你最终会想到 不仅仅与 和 有关,它还与 有关,而 是限制在 1~9 的某个数。回顾一下 (1) 式,它意味着 。把该不等式与另一个关于 的等式结合起来,就可以确定小刀的价格是 2 卢布。(注意,即便让 等于 0,上面的论述也是正确的。)

    奇怪的是,虽然有足够的信息来确定小刀的价格,但却没有充足的信息来确定羊的价钱和只数。实际上,关于 我们只有 。因此,羊的只数可能是 4,16,24,36,44,56,……。

    对于这样的谜题,你需要使用所有能够获得的信息。最好的办法就是搜罗谜题中给出的全部信息,并把它们逐条写下来。比如像下面这样:

    (a) 需要分配的卢布是个平方数;

    (b) 弟弟少得了一部分应有的收入;

    (c) 少得的那部分收入由小刀来弥补。

    接下来,应当尽快把上述事实转化成方程:

    (a) ;

    (b) ;

    (c) 。

    我们应该试着把握住每一条信息,无论这些信息看起来有多么无关紧要。例如,可以指出 应该是一个非负数,或者 应当是正数,(为什么题目会提到一把毫无用处的小刀呢?)又或者羊群中羊的只数是正整数,等等。一旦把每条信息都写入方程,那么正确处理问题就变得非常容易了。