高斯巧算数列的传说是真是假?
23 06 2018年德国数学家高斯被称为“数学王子”,他对数学做出的贡献一般人并不了解,但是人们都知道他是一个数学天才,在学习数列时老师或课本都会讲高斯小时候发现计算等差数列的和的快速方法的故事。这个故事的常见版本是这样的:高斯上小学时,其数学老师布置了一道从1加到100的习题,想让学生们算上一整节课,没想到题目刚刚布置下来,高斯就报出了答案“5050”。原来高斯发现了1到100的数列两头可以一一配对:1+100,2+99,3+98,……每一对的和都是101,总共有50对,所以总和就是5050。
等差数列的这个求和思路并不是高斯首先发现的。7~8世纪英国学者阿尔奎因出了一本数学习题集,其中有一道应用题就是要求从1加到100:一个楼梯有100个台阶,第1个台阶有1只鸽子,第2个台阶有2只鸽子,……,第100个台阶有100只鸽子,问总共有多少只鸽子?阿尔奎因提供的算法与传说高斯想到的大同小异:第1个台阶和第99个台阶的鸽子数目相加等于100,第2个台阶和第98个台阶的鸽子数目相加等于100……,总共有49个100,再加上第50和第100个台阶上鸽子的数目,和为5050。但是如果高斯作为小学生能够独立发现等差数列求和方法,而且比阿尔奎因的方法更加简洁、普适,仍然是非常了不起的成就。
这个求和方法真的是高斯小时候发现的吗?高斯的这个传说是真的吗?最早将这个故事公之于众的,是高斯在哥廷根大学的同事和朋友、地质学家沃尔夫冈·萨托里尔斯。在高斯逝世后的第二年(1856年),萨托里尔斯出版了第一部高斯传记《高斯:回忆录》。在该书中,萨托里尔斯是这么讲述这个故事的:
“1784年,在过完7岁生日后,这个小孩(高斯)上了公立学校学小学课程,是由一名叫布特纳的人教的。那是一个单调、简陋的教室,地板破旧、不平。在一边人们能够看到凯瑟琳教堂两座细长的哥特式塔,另一边是马厩和穷人住宅。布特纳在大约100名小学生中走来走去,手上拿着教鞭,在当时人人都接受教鞭是教师解决争端的最后方式。如果有必要他就会用它。在这个学校——似乎还在严格遵循中世纪的方式——年轻的高斯待了两年,没有发生特别的事。两年后他已开始上算术课,多数男孩要一直上到15岁。
“这有件事在他年老时经常津津有味地谈到。在这个课堂,第一个完成算术题的小学生把他的写字板放在一张大桌子的中间。第二个学生把他的写字板放在第一个写字板的上面,如此等等。年轻的高斯走进教室的时候,布特纳刚刚出了一道计算一个数列的和的题目。题目一讲完,高斯就把写字板放在桌子上说:‘在这儿了。’其他的学生继续数数、乘、加,布特纳洋洋自得地走来走去,偶尔用嘲讽、可怜的眼神瞅一眼这个最年轻的学生。这个男孩完成任务后平静地坐着,像往常完成一项任务那样完全意识到他已经正确地算出了问题,不可能有别的答案。
“这节课结束时,写字板被翻了过来。年轻高斯的写字板放在最上面,只有一个数字。布特纳念出答案的时候,所有人都惊讶地获悉年轻高斯是对的,其他许多人是错的。布特纳决定向汉堡写信要新的算术书来更好地满足这个智力高超的年轻人的需求。但没多久,据说他已对高斯有足够的了解,宣布高斯不可能在其学校学到东西了。”
萨托里尔斯说这个故事是高斯自己在晚年经常向人们说的。萨托里尔斯说高斯在晚年很喜欢回忆他小时候发生的小插曲,从中可以让人觉察到天才的火花。萨托里尔斯还说,高斯非常准确地记得这些事,在反复讲述时都很一致,从没有改变过其细节。萨托里尔斯写这些话的时候,高斯才逝世一年,高斯的生前好友很多都还健在,萨托里尔斯不至于胡编。所以我们可以相信萨托里尔斯的话,这个故事是高斯多次讲过的。高斯另一个著名的小故事——3岁时发现了父亲记账错误——最早也记载在萨托里尔斯的回忆录中。这个故事有多种版本,萨托里尔斯是这么描述的:
“高斯的父亲在夏天做石头建筑生意。他习惯在星期六晚上付给工人他们过去一周的工钱,那些超时工作的人按小时付给加班费。有一次他已完成了计算,正准备给钱时,从屋子角落的一张小床上传来了小孩的声音。这个三岁小孩不被察觉地在跟着算他父亲的帐目。他说:‘爸爸,你的计算是错的。给得太多了。’并指出了一个数字。他的父亲重新做了计算,发现这个小孩说的是对的。”
描述得绘声绘色,就像是小说。按萨托里尔斯的说法,这个故事也是高斯自己讲的。人的记忆是不可靠的,人们在回忆小时候的事件时很容易出现偏差。如果有父母、教师、同学的回忆作为佐证,会更为可信。可惜没有。萨托里尔斯强调高斯对细节描述的准确、一致,但是其回忆的细节有的让人难以置信。例如在那个小学速算的故事中,它提到做完题目的学生把写字板翻过来放在大桌子上,按照顺序一个个叠放上去,最后再翻转过来,第一个放的变成了在最上面。但是课堂上据说有大约一百名的学生。如果叠放一百张纸当然没问题,但是要叠放一百个写字板就大有问题,不可能垒那么高。又如,它说教师布置的题目是计算一个数列的和,但是又说在高斯做完后其他学生“继续数数、乘、加”。如果他们是用笨办法算数列的和的话,为什么会用到“乘”呢?这个故事即使是真实的,高斯在讲述时也加入了想像。
后来的人们在转述这个故事时,又加入了新的想像。1877年,弗里德里希·维纳克出了第二部高斯传记《高斯:生平与著作概述》,里面也讲了这个故事,几乎照抄萨托里尔斯,但是多了一条:那些做错了这个题目的学生,被用教鞭惩戒。值得注意的是,在这个故事的最初版本中,只是说高斯解的是一个数列求和问题,没有具体说是什么样的数列,也没有说高斯用的什么计算方法。在19世纪出的高斯传记中,都对此语焉不详。
直到1906年,弗兰兹·马赛才在一本介绍高斯的小册子里说,布特纳出的题目是从100加到1,并且说高斯是用配对的方法快速算出了答案。这个时候高斯已逝世51年了。合理的推测是这个题目是马赛自己想像出来的,而且也没有得到大家的注意或认可,因为在之后的几十年间出的高斯传记或数学史著作,在讲述这个故事时,都还没有说具体的题目。1937年,美国数学家埃里克·贝尔在其名著《数学精英》中,甚至说高斯解的题类似于81297+81495+81693+……+100899。贝尔没有说这就是高斯解的题目,只是举例说明,但这个例子举得很不好,学生的写字板根本写不下这么多的大数字。
在《数学精英》出版的第二年,1938年,德国数学家路德维希·比贝尔巴赫出版高斯传记,也许觉得贝尔的例子太过复杂,第一次明确地说高斯算的是从1加到100,并介绍了高斯是怎么算的。这时高斯已经逝世83年了。比贝尔巴赫出生时(1886)高斯也已逝世31年,他显然不可能是从高斯那里听来的,只能是想像出来的,就像他想像布特纳布置这道题目的目的是为了让学生们能够长时间安静。从那以后,人们在讲述这个故事时,基本上都是按照比贝尔巴赫的说法,高斯做的题目是从1加到100,几乎成了公认的史实。高斯的曾孙女1966年将萨托里尔斯的回忆录翻译成英文时,甚至篡改原文,说高斯做的题目是从1加到100。也有的觉得让小学生加这么多数字未免太残酷,改成了从1加到10;还有的觉得从1加到100太简单了,干脆改成是从1加到1000。还有不少人把贝尔的举例当成史实,说高斯解的就是那个复杂的数列。
没人否认高斯是数学史上无与伦比的天才。毕竟,他在19岁就发现了正十七边形的尺规作图法,解决了这一千古难题,24岁就出版《算术研究》,创建了数论。高斯无疑在很小的时候就表现出了高超的数学才能,所以才会引起其小学教师、政府官员以及公爵的注意,让这个贫苦出身的小孩得以上大学深造。但是高斯的天才并不需要通过神化其儿时的表现来体现。在学习数列时,讲讲高斯的故事未尝不可,这有助于引发学生的兴趣,但是在讲的时候,最好还是要说明这只是“传说”,至少,高斯究竟做的是什么数列题,我们是不知道的。
2018.5.14.
(《科学世界》2018.6.)