高斯巧算數列的傳說是真是假?
來自專欄科史鉤沉226 人贊了文章
撰文/方舟子
德國數學家高斯被稱為「數學王子」,他對數學做出的貢獻一般人並不了解,但是人們都知道他是一個數學天才,在學習數列時,老師或課本都會講高斯小時候發現計算等差數列的和的快速方法的故事。這個故事的常見版本是這樣的:高斯上小學時,其數學老師布置了一道從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歲時發現了父親記賬錯誤——最早也記載在薩托里爾斯的回憶錄中。這個故事有多種版本,薩托里爾斯是這麼描述的:
「高斯的父親在夏天做石頭建築生意。他習慣在星期六晚上付給工人他們過去一周的工錢,那些超時工作的人按小時付給加班費。有一次他已完成了計算,正準備給錢時,從屋子角落的一張小床上傳來了小孩的聲音。這個3歲小孩不被察覺地在跟著算他父親的賬目。他說:『爸爸,你的計算是錯的。給得太多了。』並指出了一個數字。他的父親重新做了計算,發現孩子說得是對的。」
描述得繪聲繪色,就像是小說。按薩托里爾斯的說法,這個故事也是高斯自己講的。人的記憶是不可靠的,人們在回憶小時候的事件時很容易出現偏差。如果有父母、教師、同學的回憶作為佐證,會更為可信。可惜沒有。薩托里爾斯強調高斯對細節描述的準確、一致,但是其回憶的細節有的讓人難以置信。例如在那個小學速算的故事中,它提到做完題目的學生把寫字板翻過來放在大桌子上,按照順序一個個疊放上去,最後再翻轉過來,第一個放的變成了在最上面。但是,課堂上據說有大約100名學生。如果疊放100張紙當然沒問題,但是要疊放100個寫字板就大有問題,不可能壘那麼高。又如,它說教師布置的題目是計算一個數列的和,但是又說在高斯做完後其他學生「繼續數數、乘、加」。如果他們是用笨辦法算數列的和的話,為什麼會用到「乘」呢?這個故事即使是真實的,高斯在講述時也加入了想像。
後來的人們在轉述這個故事時,又加入了新的想像。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年第6期)
推薦閱讀:
※2011屆初三年級數學專項練習——勾股定理
※為什麼「初一相差不大,初二兩極分化,初三天上地下」?《郭氏數學內部資料》
※北師大版數學總複習第九部分 四邊形(2) 菱形
※跨站式SQL注入攻擊思路
※機器學習中的數學(3)