引言 如何解开数学谜题
这本书能来到你的手上,我相信绝非偶然。你可能很喜欢数学,并且一定也很爱思考。所以,我想提前给你一些建议,这样你就不会对接下来的这些谜题感到绝望。虽然我并不能给大家提供所有人都普遍适用的解答策略——这种策略也根本不存在,但是,我还是有一些如何解决难题的意见可以供你参考。如果你读过我的其他书,那么你可能会对其中的一两个建议感到熟悉,因为那本书里有一整篇章节是关于如何找到创造性的解答方法。在本书中,我扩充了这些建议,用更缜密的方式来阐述。
不要放弃,坚持到底
要坚持!如果你想解决一道难题,首先,你应该从头到尾彻底地思考一遍。当你毫无头绪时,不要马上去翻答案,多一些耐心,也可以暂时将这道难题放在一边,先试试下一道谜题,这能帮助你换一种思维,也许你就会撬开之前还没有解决的难题。另外,在第二天早晨刷牙的时候,也很可能会有令人惊喜的灵光闪现。
仔细分析题目文本
首先,你自己必须理解这道题。当你阅读题目文本,遇到一些不好理解的地方时,就该注意了,这些题目中的“绊脚石”经常会提供有价值的提示。我们就拿与本书习题12相似的题目来举例:
两个俄罗斯数学家在飞机上偶遇。
“你有三个儿子,是不是?”其中一个数学家问道,“他们现在多大了啊?”
“他们的年龄的乘积是36,”另一个数学家回答道,“年龄的总和正是今天的日期。”
“呃,这些条件还不够。”提问的数学家说道。
“噢,对了,我忘说了,我大儿子有一只狗。”
那么这三个儿子的年龄分别是多大呢?
你也觉得提到狗这一点很奇怪吧?如果你再仔细想一下,就会发现,这里还可以用一只猫、一台游戏机或一种头发的颜色来替代这只狗。这句话之所以看起来很重要,是因为有其他的细节。至于怎么解题,在这里我先不过多透露。
系统性分析
如果解决方式清楚明了,那就值得把所有能想到的推论都写下来,并逐个查看。这对逻辑谜题尤其适用。举例来说:当你听到三个人在说话并知道其中有一人在说谎时,谁是那个说谎者?
人物A:“B在说谎。”
人物B:“C在说谎。”
人物C:“我没说谎。”
面对这样的逻辑谜题,你可以制作一个小小的表格,这个表格也叫作真值表。在这个表格里,把所有可能的情况都列出来:
将表列出后,你可以对照这几种情况里的说辞是否矛盾。在这里,情况2没有问题,情况1和情况3都有逻辑上的矛盾。
情况1:B说C在说谎,但情况1里的说谎者是A,两种说法相互矛盾。
情况3:A说B在说谎,但此情况里的说谎者是C,两种说法自相矛盾。
因此,情况1和情况3不可能是正确答案。只有情况2还有可能,并且没有逻辑上的矛盾,只有B一个说谎者。
将问题尽量简单化
我们常常会面对那种需要我们分析全部情况或数值很大的问题,要想解决这类问题,非常困难。例如,有100个说谎者和100个诚实的人坐在一张桌子旁,他们在说一些奇怪的事情。面对这种问题,你可以先尝试一下简化的版本——一张桌子旁坐着两个说谎者和两个只说真话的人——在简化版的解题过程中,你或许能找到其他解决更大问题的途径。
另辟蹊径
离开熟悉的路径——这是形成创造性想法最重要的方式之一。这一点在数学中常常很难实现,因为我们习惯于运用自己学过的解答技巧。就像坐火车去旅行一样,我们能到达的只是那些铺有铁轨的地方。
换一个视角或者改变一下问题的形式,常常会很有帮助。也许一道与数字有关的题也可以从几何的角度来解答。举一个例子:
为了在14点的时候到达山上的小屋,一个男人在10点时从山谷里开始了他的徒步远足。到达后,他在小屋里住了一晚。第二天上午10点,这个男人又开始走回山谷。由于是走下山路,他在14点之前就回到了山谷。请你论证:这两天里,在10点到14点之间,哪一个时间点上这个徒步者恰好处在同一高度位置?
我们对山的高度、走势以及徒步者的速度一无所知。尽管如此,只要我们把这个问题改动一下,解答方式就很简单了:
两个男人在10点时开始了最多四个小时的徒步远足。一个人从山谷向山上走,另一个人从山上向山谷走。请你论证:在10点到14点之间,哪一个时间点上这两个徒步者恰好处在同一高度位置?
现在,解题方式就很简单了:只需要求出两个徒步者在远足途中相遇的瞬间。
再举一道题:
1+2+3+4+…+97+98+99+100的总和是多少?
我们当然可以在大脑里或者用便携计算器来计算。但年轻的卡尔·弗里德里希·高斯(Carl Friedrich Gauss)早就知道一种更好的方法。他将这些数字全部分类整理:
(1+100)+(2+99)+…+(50+51)的总和是多少?
我们可以直接写出结果:50×101=5050。
最后再举一道针对创造性解决方法的题。这是一道关于日历的题,解决这道题有一个非常特别的诀窍:
一个男人有两个木制的立方体,他可以用它们呈现出一个月从01号到31号的日期。请问这两个立方体上都有哪些数字?
分析这个问题相对简单:每个立方体上只能有六个数字,也就是说我们需要将0~9的数字合理分布到这两个立方体上,问题是:该如何分布?一个月的日期是从01号开始直至31号结束的,就是说无论如何都会有一个11号和一个22号,即数字1和数字2必须出现在两个立方体上。
为了呈现出从01号到09号的日期,数字0也需要同时出现在两个立方体上。
从1到9有九个数字,而在一个立方体上只能有六个不同的数字。0,1,2——两个立方体上均有三面被这三个数字占据。两个立方体总共有十二个面,现在还剩六个面,可气的是剩下了七个数字:3,4,5,6,7,8,9。
如果我们在第一个立方体上写0,1,2,3,4,5,第二个立方体写上0,1,2,6,7,8,那么9就没有地方安置了。
怎么办?难道答案根本不存在?不,有一个答案,而这个答案我们已经找到了:当我们需要数字9时,把数字6倒过来就好了。如此,这个立方体日历的谜题就解开了。
社会工程学
有时候我解一道题,很怕这题可能会有看不到头的多个答案。例如下面这一题:
请找出所有包含数字0,1,2,3,4,5,6,7,8,9的十位数的质数(质数只能被1和其自身整除)。
如果你知道一些组合学,就会明白,这十个数字可以组合成三百多万个不同的数字。该如何检验每个数字是不是质数?是谁想出了这么难的一道题?
更有可能的情况是,这题要么只有一个答案,要么压根儿就没有答案。我们这道题就是后一种情况。
有一个规律可以帮助我们解决这道题[1]:所有由这十个数字组成的十位数,字面数字相加都是45(=1+2+3+4+5+6+7+8+9)。45不仅可以被3整除,还可以被9整除,而由这十个数字组成的十位数都可以被3和9整除。因此,它们全都不是质数。
[1] 如果一个三位数的百位数字是a,十位数字是b,个位数字是c,那么这个三位数可以表示为:
100a+10b+c
=(99+1)a+(9+1)b+c
=99a+a+9b+b+c
=(99a+9b)+(a+b+c)
99a+9b肯定能被3整除,所以只要a+b+c的和能被3整除,这个三位数就能被3整除。
以此类推,十位数也适用此理。这就是横加数规律。
间接取代直接
上面的题是关于三百多万个不同的数字。这里我们再进一步到无限多的数字。
请证明,质数是无限多的。
我们可以尝试把所有质数都逐一编号列举。与此同时,可以肯定的是,这种做法根本没完没了。用这种方法,我们无论如何也无法证明质数是无限多的。
面对这种问题,我们要做的不是直接解决问题,而是间接着手,然后再反绕过来。入室抢劫者基本上是这么做的:他们不会撬开房屋大门上厚重的锁,而是去到房屋的背面,然后在那里找到比较好打开的地下室窗户。
我们用反驳论点的对立面这种间接方式非直接地证明论点。由于数学的逻辑一致性,间接证明是完全有可能的。一个论点要么正确,要么错误,两个相矛盾的论点不可能同时为真。
因此我们假设,只存在有限多的质数,更确切地说有n个质数。我们将这些质数列为p1,p2,p3,…,pn,并将它们相乘:
p1×p2×p3×…×pn
我们得到了一个有趣的自然数:它可以被n个质数,即p1,p2,p3,…,pn里的任意一个整除,因为这个数是所有这些质数的乘积。现在就是真正诀窍了,我们在n个质数的乘积之上再加上数字1:
p1×p2×p3×…×pn+1
所得之数也是一个自然数。然而,它不能被n个质数里的任何一个整除,更确切地说,在做除法时总会有一个多余的1。因此,这个数自身即是质数,它不包含在p1,p2,p3,…,pn里面,也不是两个或更多质数的乘积。所以,这些质数并不属于前面给出的n个质数,这与我们只存在n个质数的假设相矛盾。所以,只存在有限多的质数的假设是错误的。反之即意味着,存在无限多的质数。如此就证明了论点。
我承认,间接证明看起来有些奇怪,还必须极其注意论点的对立面是什么,但是这个方法十分有用。
抽屉原理
抽屉你很熟悉吧,我们几乎每天都在整理和分类东西,这时候抽屉就很有用了,而虚拟形式的抽屉在数学中也同样有用。下面这道小题会向我们展示抽屉原理如何起作用:
在体育协会的地下储藏室里,有白色、红色、蓝色和绿色的滑雪杖,它们都一样长。管理员想要拿出一些滑雪杖,但可惜地窖的灯坏了,他完全看不见任何东西。请问,他需要取出多少根偶然拿到的滑雪杖,才能必然使其中的两根滑雪杖为同一种颜色?
我们假设有四个抽屉,每个抽屉对应一种颜色的滑雪杖。我们随机地拿取滑雪杖,然后在灯光下分类放进抽屉里。这样,在拿取第五根滑雪杖的时候确定能达到我们的目的,因为只有四种颜色的滑雪杖,第五根滑雪杖必须得放进一个抽屉,而这个抽屉里已有一根滑雪杖了。
多米诺骨牌法
当论点适用于所有自然数n时,那就可以选择用所谓的数学归纳法。我更想称它为多米诺骨牌法,因为这样大家马上就可以理解这种证明法如何运行。
让一张桌子上所有立着的多米诺骨牌都倒下的先决条件是什么?确切地说有以下两点:
1)第一块骨牌必须倒下。
2)每一块立起来的骨牌,在倒下时能使它后面的那块骨牌也倒下。
我们用奇数自然数的求和公式来举例说明多米诺骨牌法。请看以下这些等式:
1=1=12
1+3=4=22
1+3+5=9=32
1+3+5+7=16=42
1+3+5+7+9=25=52
很明显,从1开始,这些奇数相加,总是得到一个平方数。我们将奇数写作2n+1或者2n-1,n为自然数。若等式的右边为n2,那么等式左边最大的奇数则为2n-1。也就是:
1+3+…+2n-1=n2
多米诺骨牌证明法:以上公式无论如何对n=1,2,3,4,5都适用,这意味着,不仅仅第一块多米诺骨牌会倒下,前五块多米诺骨牌无论如何也会倒下。开头就这样完成了。
现在我们随意取出任意一块多米诺骨牌,编号为i。i为自然数。我们假设,这块骨牌倒下了。这里的倒下意味着,求和公式也适用于这块骨牌。
总和(i)=1+3+5+…+2i-1=i2
那下一个编号为i+1的骨牌会怎么样呢?求和公式对它来说也适用吗?我们可以相对简单地计算出来。为了让求和公式对i+1也适用,我必须将这个奇数加到i的求和公式中去,也就是2(i+1)-1。
总和(i+1)=总和(i)+2(i+1)-1
=总和(i)+2i+1
=i2+2i+1
你可能会对等式的右边感到有些熟悉。这是二项式定理的一种形式:
(a+b)2=a2+2ab+b2
这里令a=i,b=1,我们得到:
总和(i+1)=(i+1)2
这样我们就求证了求和公式对n=i+1也适用,而前面我们已证明公式对n=i适用,这就说明,我们的求和公式对任意一个自然数n都适用。