九章之门
第 1 章 九章之门
两千年前的人为什么要算田地的面积?粮食兑换时该用哪个比率?工程预算要估多少土方?这些问题看似离普通人的日常生活很远,但翻开《九章算术》,书里几乎每一道题都能在今天的生活里找到对应。按揭贷款怎么分摊到每月,网购时满减凑单怎么凑最划算,装修时墙面需要多少涂料,孩子上学要走多远的路——这些问题看似简单,真要做起来并不容易。古人两千年前就面对过类似的问题,而且,他们真的算出来了。
这就是阅读《九章算术》的第一个理由:它是一本关于"如何解决实际问题"的古代教科书,只不过这些问题一直换着面孔出现。第二个理由是,这本书藏着一种思考方式——用最少的前提,推出最多的结论。这种思考方式不依赖高深的公式,而是依赖对问题的拆解和对数字的敏感。第三个理由更私人:它能让一个现代人意识到,我们的祖先用什么工具理解世界,而这些工具在两千年的时间里,其实只发生了微小的变化。
下面分四个小节展开。第一节介绍《九章算术》在中华典籍中的特殊地位;第二节梳理它的内容轮廓,让你明白九章并不神秘;第三节讲解本书的阅读路径;第四节给出具体的阅读方法。
一、一本没有署名的书
中华典籍浩如烟海,但有一个现象不太常见:大多数经典都有一位或多位署名的作者。《诗经》传为孔子删定,《史记》署司马迁之名,《本草纲目》署李时珍之名,《梦溪笔谈》署沈括之名。读者拿到一本书,通常会问:这是谁写的?
《九章算术》无法回答这个问题。它的成书年代跨度长达数百年,从先秦到东汉,无数无名作者参与其中,最终凝结成今天我们看到的这部书。这与同时期欧洲数学著作有鲜明的对比:欧几里得《几何原本》署名为欧几里得,阿基米德著作署阿基米德之名。中国数学传统更倾向于集体创作,《九章算术》是这一传统的代表。
这种"无名"并非偶然。在中国古代,"算"这门学问长期被视为"小道",是百工之流所需掌握的技艺,不入士大夫的正统学问。直到宋元以后,才陆续出现以个人著述形式流传的数学书,例如秦九韶的《数书九章》、李冶的《测圆海镜》、朱世杰的《算学启蒙》。在《九章算术》成书的那段漫长岁月里,算学家们更愿意把成果归到"先贤"或"古人"名下,而非自我标榜。
但"无名"不等于"无价值"。恰恰相反,《九章算术》能够流传两千多年,本身就是一个值得深思的现象。中国古代典籍中能经受住这种时间尺度的考验而不被淘汰的,要么有官方力量支持(如《四书》《五经》),要么解决了持续存在的现实问题。《九章算术》属于后者。田要量,粮要换,工要算,税要摊——这些问题从先秦一直存在到明清,《九章算术》中的方法就一直有用。
《九章算术》在东亚文化圈的传播范围,远超一般人的想象。隋唐时期,它传入朝鲜、日本,成为两国数学教育的核心教材。朝鲜王朝的算学考试以《九章算术》为蓝本,日本江户时代的和算家则将其视为"算学之祖"。即便在西方数学大规模传入之后,《九章算术》中的开方法、方程术、勾股定理等内容仍在中国数学教育中保持活跃,直到 20 世纪初。
一个更直接的证据是它的"再创作史"。历代都有学者为《九章算术》做注释。最重要的几次包括:魏晋时期刘徽的《九章算术注》(263 年前后),这是现存最完整的古代注释本,刘徽在注中不仅解释了原文,还给出了大量新的论证和推广;唐代李淳风等人奉敕校订,为这部书定下官方文本;南宋杨辉在《详解九章算法》中给出更通俗的图示讲解;清代学者继续对《九章算术》进行考据和注释,使得这部书的版本越加稳定。这些注释不是简单的"翻译",而是一次次重新理解与补充。换言之,《九章算术》在每一代都被重新"读"过,而每一代都从中读出了新的东西。
理解这一点对今天普通读者很重要。你拿到的这本《九章寻道》,并不是要把你变成一位古代算学家,而是要让你经历一次类似的"重读"。你不必把《九章算术》当成供奉在书架上的古董,而是当成一本还能跟你对话的书。当我们说"对话",意思是:你会发现,书里那些两千年前处理粮食兑换、田地测量、工程预算的算法,跟你在现代生活中用到的逻辑,在结构上是一样的。差别只在工具,不在思路。
二、九章到底在说什么
很多读者还没翻开《九章算术》,心里就已经有了预设:这一定是高深莫测的古书,涉及什么玄之又玄的"术数"。这种预设其实是被书名误导的。"九章"听起来庄严,"算术"听起来专业,合在一起就显得高不可攀。
实际情况并非如此。《九章算术》全书收录 246 道题,分为九章,每章围绕一类实际问题。下面我按书的顺序把九章的内容列出来,让你有一个直观印象。
方田:田地面积的计算,涉及长方形、三角形、梯形、圆形的面积公式,以及分数的四则运算。
粟米:不同粮食之间的兑换比例,例如稻谷、粟米、小麦之间的换算关系。
衰分:按比例分配问题,例如按爵位高低分配俸禄,按人口分配徭役。
少广:已知田地面积,反推边长。这章实际上是在讲开平方和开立方的算法,是中国古代"开方术"的核心。
商功:工程计算,涉及土方、堤坝、粮仓的体积计算。
均输:运输费用的分摊,本质上是更复杂的比例分配问题。
盈不足:盈余与不足的问题,后来发展为一种通用算法,西方称为"双设法"。
方程:线性方程组的解法。这一章给出了世界上最早的线性方程组系统解法,比欧洲早一千多年。
勾股:直角三角形三边关系,即勾股定理的应用。
把这些内容翻译成现代语言,你会发现它们覆盖了日常生活的主要计算场景:测量、兑换、分配、工程、运输、方程、几何。九章里的每一道题,都不是凭空想象的智力游戏,而是有具体的应用背景。
让我用一个具体例子让你体会《九章算术》的算法逻辑。这道题出自《粟米》章,原文是这样的:
> 今有粟一斗,欲为粝米。问得几何? > 答曰:为粝米六升。 > 术曰:以粟求粝米,三之,五而一。
翻译过来:现有粟米一斗,要把它换成粝米(一种精加工的米),能得到多少粝米?答案是六升。算法是把粟米的量乘以 3,再除以 5。
这个 3/5 来自当时的兑换比例:每 5 升粟米可以加工出 3 升粝米。一斗等于十升,十升乘以 3/5 等于六升。这就是《九章算术》中反复出现的今有术的核心思想:遇到比例问题,先把已知量和所求量对应起来,再用统一的"率"去转换。用现代数学语言说,"今有术"就是比例运算的算法化表述:
$$ \text{所求量} = \frac{\text{所求率}}{\text{所有率}} \times \text{所有数} $$
这个公式在今天的小学课本里也有,只不过换了一个名字,叫"按比例分配"或"比例的应用题"。换句话说,你可能在小学四年级就接触过"今有术",只是不知道它有这么古老的名字。
我们再来做一道稍微复杂的例子:
> 今有粟三斗六升,欲为粝米。问得几何? > 答曰:为粝米二斗一升六升之五升。 > 术曰:以粟求粝米,三之,五而一。
这次总量是三斗六升(等于三十六升),兑换率还是 3/5,所求量是 36 × 3/5 = 108/5 = 21.6 升 = 二斗一升六升之五升(即 21 升加 5/6 升)。
注意最后这个分数的表达方式:"六升之五升"在古代分数的写法里,意思是 5/6 升。这种分数表达在《九章算术》中非常常见,它要求读者具备一定的分数运算能力。不过你只要理解了通分与约分,就能读懂。
整个《九章算术》中,类似"今有术"这样的核心算法只有几十个,但由这几十个核心算法,可以推出几百道不同的题目。这种"少量算法 + 大量应用"的写作方式,与现代教材的逻辑类似:先讲方法,再用题目练习。《九章算术》在两千年前就已经采用了这一模式。
下面这张图给出了《九章算术》九章的结构,以及本书将要贯穿讨论的三个主题:
```mermaid flowchart TD JC[九章算术 246题] --> FT[方田] JC --> SM[粟米] JC --> CF[衰分] JC --> SG[少广] JC --> GJ[商功] JC --> JS[均输] JC --> YK[盈不足] JC --> FC[方程] JC --> GG[勾股]
FT --> T1[算术主题] SM --> T1 CF --> T1 SG --> T1 GJ --> T1 JS --> T1 YK --> T1
FC --> T2[方程主题] GG --> T3[勾股主题] ```
图中算术主题对应前六章(方田、粟米、衰分、少广、商功、均输),第七章《盈不足》虽然归在算术主题下,但其方法有相当特殊性,我们后面会专门讲。方程主题对应第八章《方程》。勾股主题对应第九章《勾股》。
三、三个关键词:算术、方程、勾股
要把《九章算术》读懂,需要抓住三个贯穿全书的核心概念。这三个概念也是这本书的章节脉络。
算术:可操作的程序
第一个是"算术"。这里的"算术"不是现代意义上的"算术"(指加减乘除),而是指"以算法解决实际问题"。整本《九章算术》除了方程章和勾股章之外,几乎每道题都遵循同一个模式:给出一个具体场景,给出已知数据,要求算出所求量,最后给出一句"术曰"(即算法说明)。这种写作方式的精髓在于"术"——它把数学变成了一种可操作的程序。
举个例子,《方田》章有一道题:
> 今有田广十二步,从田十四步。问为田几何? > 答曰:一亩。 > 术曰:广从步数相乘得积步,以亩法二百四十步除之,即亩数。
这道题的意思是:有一块长方形田,宽 12 步,长 14 步,问面积是多少?答:一亩。算法是:宽 × 长 = 总步数,然后用 240 步(一亩的定义面积)去除,得到亩数。
注意这里"亩法二百四十步"这个信息,它隐含了当时的长度单位和面积单位的换算关系:1 亩 = 240 平方步。这种"单位换算"是《九章算术》中常见的暗线,读者在阅读时需要不断关注单位的变化。
《九章算术》使用的单位体系大致是这样的:长度单位有分、寸、尺、步、引,十进位;容量单位有合、升、斗、斛,十进位;面积单位有平方步、亩、顷,1 亩 = 240 平方步,1 顷 = 100 亩;重量单位有铢、两、斤、钧、石。看到不熟悉的单位时,你可以大致按"十进位"处理,只在跨进位时(例如亩到步)查一下换算关系。本书会在涉及具体数字时给出换算,让你不必费心去查古代度量衡。
《方田》章还有一个重要贡献:分数四则运算的系统化。古代的分数表达和现代不同,通常写成"母几分之几"(分母在前,分子在后),例如"五分之三"写成"五分三之",省略"之"字时写成"五分三"。理解这种表达方式后,你会发现《九章算术》中大量的分数运算其实和今天的算法是一样的。
方程:线性方程组的算法
第二个关键词是方程。《九章算术》的"方程"与现代数学的"方程"含义略有不同。书中"方程"指的是线性方程组,即把多个未知数的关系并列写出来,形成矩阵状的布列,然后逐步求解。这种解法在第八章《方程》中有完整的展示。
《方程》章第一题是一个经典例子:
> 今有上禾三秉,中禾二秉,下禾一秉,实三十九斗。上禾二秉,中禾三秉,下禾一秉,实三十四斗。上禾一秉,中禾二秉,下禾三秉,实二十六斗。问上、中、下禾实一秉各几何?
这道题翻译成现代语言:上等禾 3 捆、中等禾 2 捆、下等禾 1 捆,总共打出 39 斗谷;上等禾 2 捆、中等禾 3 捆、下等禾 1 捆,总共打出 34 斗谷;上等禾 1 捆、中等禾 2 捆、下等禾 3 捆,总共打出 26 斗谷。问:每捆上等禾、中等禾、下等禾各能打出多少斗谷?
设上等禾一捆打 x 斗,中等禾一捆打 y 斗,下等禾一捆打 z 斗,则可列出方程组:
$$ \begin{cases} 3x + 2y + z = 39 \\ 2x + 3y + z = 34 \\ x + 2y + 3z = 26 \end{cases} $$
《九章算术》给出的解法与现代线性代数的解法惊人地相似。它用"直除法"(一种逐步消元的方法)求解,过程大致如下。
第一步,将三个方程并列布列成"方程"(矩阵形式):
``` 3 2 1 | 39 2 3 1 | 34 1 2 3 | 26 ```
第二步,以第一行为基准,消去第二行的 x 系数。古代的做法是用第二行乘 3,减去第一行乘 2,得到新的第二行:0, 5, 1, 24。类似地消去第三行的 x 系数:用第三行乘 3,减去第一行,得到:0, 4, 8, 39。
第三步,以新第二行为基准,消去第三行的 y 系数,得到第三行:0, 0, 36/5, 75/5。也就是 z = 75/36 = 25/12 ≈ 2.083。
继续回代,可以得到 y = 35/7 = 5, x = 9.25。
整个求解过程的核心思想就是"消元",这与 19 世纪德国数学家高斯系统化的"高斯消元法"在结构上完全一致。但《九章算术》给出这一方法的年代,比高斯早了一千八百多年。
这是《九章算术》最值得骄傲的成就之一:它不仅记录了一种解题方法,还把这种方法抽象成了一套通用算法。理解这一点,有助于读者认识到:中国古代数学不是只有"算术",还有"方程思想"——只不过这种思想没有像西方那样发展出独立的代数符号系统。
勾股:几何关系的系统化
第三个关键词是勾股。《九章算术》的最后一章《勾股》专门讨论直角三角形的三边关系,给出的结论是"勾股各自乘,并而开方除之,弦",即:
$$ c = \sqrt{a^2 + b^2} $$
这就是今天的勾股定理。书中有大量应用题:已知旗杆的高度和影长,求另一根旗杆的高度;已知城墙的高度和观察点距离,求城墙的瞭望距离;已知直角三角形的两边,求第三边。这些题目覆盖了测量、建筑、天文等场景。
《九章算术》还给出了勾股定理的逆命题。一个经典例子:
> 今有圆材径二尺四寸,欲为方材,令径一尺六寸。问几何?
这道题实际上是:已知一根圆形木材的周长是 2 尺 4 寸,想从它切出最大方材,正方形的边长是多少?答案涉及勾股定理的反向应用。
另一处值得留意的事实是,《勾股》章给出了"勾股数组"的早期实例,即满足勾股定理的整数三元组。书中有这样一道题:
> 今有弦五尺,勾三尺,问股几何? > 答曰:四尺。
这里 3、4、5 是最经典的勾股数组。书中还提到"勾三、股四、弦五"是"设常"——即约定俗成的标准示例。这种对特殊整数解的重视,在后世发展为"大衍求一术"等高深算法。
《勾股》章还有一个重要贡献:用勾股定理来推导其他几何公式。例如圆面积的近似公式"周径相乘,四而一"(圆周 × 直径 / 4),在《方田》章中给出,但其论证需要勾股定理;又如圆内接正方形的边长公式,也需要勾股定理。这种"用一种基础定理推导其他定理"的思路,与欧几里得《几何原本》的做法不谋而合。
三个主题如何连接
这三个关键词,看似独立,实则有一个内在的逻辑递进。算术是基础,它教你如何把一个实际问题转化为数字,如何用基本运算得到答案,这是数学的"日常"。方程是抽象,它教你如何用一个符号代表未知量,如何把多个条件并列起来,如何从条件中"挤出"答案,这是数学的"推理"。勾股是几何,它教你如何把空间关系转化为数字关系,如何用数字描述几何形状,这是数学的"建模"。
这三步对应着人类理解世界的三种能力:算术处理"多少",方程处理"为什么",勾股处理"在哪里"。读《九章算术》,相当于顺着这三种能力的递进,看我们的祖先如何一步步把世界"算"出来。
本书第二章到第七章聚焦算术主题,分别讨论方田、粟米、衰分、少广、商功、均输、盈不足中的核心方法。第八章聚焦方程主题,讨论线性方程组的算法思想。第九章聚焦勾股主题,讨论直角三角形与几何关系。最后两章,我们会把这三个主题串起来,讨论《九章算术》的整体思想及其对后世的影响。
四、你只需要这些准备
很多读者在打开一本古书之前会担心:数学基础够不够?初中数学忘得差不多了,还能不能读?
答案是:能,只要你会做四件事。
第一,会做整数加减乘除。这是所有数学的基础,《九章算术》中大量题目只用整数运算就够了。
第二,会做分数的加减乘除。古代的分数表达与现代略有不同(古文写"六升之五升"表示 5/6 升),但本质一样。你只要理解了"几分之几"的含义,就能读懂《九章算术》中的分数运算。
第三,会列简单的方程。如果你小学时做过"鸡兔同笼"问题,那就已经具备了《方程》章要求的方程思想。《九章算术》的"方程"虽然形式复杂,但本质和"鸡兔同笼"是同一类问题:列方程,求解。
第四,会做单位换算。古今单位不同,但换算关系是固定的。本书会在涉及具体数字时给出换算,让你不必费心去查古代度量衡。
如果你满足这四个条件,读懂《九章算术》的内容并不困难。但理解内容只是第一步,真正的阅读还需要以下几种心理准备。
第一,允许自己"卡住"。读古书不可能像读小说那样流畅,遇到某个术语不认识、某个算法看不懂,这是正常现象。本书的每一章都会带"重点提示",把核心术语和算法单独标出,帮你扫清阅读障碍。
第二,不要追求一次读懂。《九章算术》中有些题目,第一次读会卡住,过几天再读就通了。这是因为数学的"懂"不是瞬间的,而是渐进的。本书的设计是让你在每一章都能反复回到原题,做"二次阅读"。
第三,准备一支笔和一张纸。《九章算术》是一本需要动手算的书,不是一本只需要读的书。本书每讲一道例题,都会给出详细的演算步骤。你最好跟着算一遍,在纸上写下每一步的中间结果。这种"手脑并用"的阅读方式,会让你对算法的理解深很多。
第四,带着具体问题去读。本书最后一章会列出一些"延伸阅读问题",你可以带着这些问题去读《九章算术》原文,看看古人是怎么思考这些问题的。例如:"古人怎么算圆的面积?""古人怎么处理误差?""古人怎么估算大数?"这些问题没有标准答案,但带着它们去读,会让你的阅读更有方向。
第五,对照原文阅读。本书虽然讲解详细,但终究是对《九章算术》的解读,而非原文。建议你在读完本书的每一章后,抽出时间翻阅《九章算术》原文对应的部分,看自己能否独立读懂。一个良好的阅读循环是:读本书讲解 → 翻原文 → 回读讲解 → 再翻原文。循环几次后,你会发现自己不再需要本书的讲解,也能直接读懂原文。这正是本书希望达到的效果。
最后我想说的是,《九章算术》是一本可以慢读的书。它不需要你一周读完,也不需要你一个月读完。本书的章节设置允许你每天读一小节,花上几个月甚至一年时间慢慢读完。每读完一章,你会发现自己对一类问题的思考方式发生了变化,这是慢读带来的副产品。
举个例子,你读完《方田》章后,会对"面积"这个概念有新的理解。你会发现古代的"亩"不是一个抽象单位,而是一个具体可感的对象,它由 240 平方步组成,一个中等身材的成年人走两步算一步,也就是大约 480 步走完一亩。当你下次路过农田,你也许会不自觉地估算一下"这块地大约有几亩"。这种"用古代单位重新理解世界"的体验,是阅读《九章算术》独特的乐趣。
本章小结
这一章回答了开头的疑问:为什么在二十一世纪,我们仍要读《九章算术》?理由有三:其一,这本书解决了真实的生活问题,这些问题今天依然存在;其二,这本书提供了一种思考方式,用最少的算法解决最