走进九章
第一章 走进九章
一、为什么《九章算术》不能「直接读」
市面上流通的《九章算术》读本,几乎全部是「原文加注释」的合刊本。读者翻到「方田」第一题「今有田广一十二步,从田一十四步。问为田几何?」,紧接着就能看到一行小字「广从相乘得积步」。如果他信任这条小字,会立刻写出 $12 \times 14 = 168$,然后翻到下一题。表面看,这是一场顺利的阅读;实际上,他已经踩进了文本考古的雷区:那条小字不是原题的一部分,而是后人补进去的「术」。
《九章算术》并不是一本按现代意义「某作者在某年写成」的书。它是一部累积性文本,从先秦到西汉逐次成书,魏晋刘徽为之作注,唐李淳风、北宋贾宪、南宋杨辉又陆续补订。我们今天读到的每一个「题」,很可能叠着三个时代的痕迹:最底层是古代官吏或数学学习者拟出的问题;中间层是刘徽把零散的算法整理为「术」的注疏;最上层是李淳风等人增补的更细致的算例或符号说明。
这意味着「直接读」是不可能的。任何一句话,在没有标注其所在时间层之前,都可能是后人塞进原文的。例如「方程」章第一题的「术曰:置上禾三秉,中禾二秉,下禾一秉,实如上法,以上二禾为法」,这一段既包含原题的数据,又包含刘徽关于「上禾」「中禾」「下禾」的术语界定。如果把它当成一句来自汉代的连贯记载,就会把刘徽的概念框架误植给《九章》的真正作者。
本章的任务,是为后面的十五次细读画一张地图。我们先建立「时间分层」的意识,让你读到每一句时知道它可能来自哪个时代;然后我们把九章各自的中心问题介绍一遍,每章配一个最简单的算例,让你获得进入该章的预备知识;最后我们交代本书使用的解读约定,包括原文、术文译解、算例三段式的具体做法。这样,当你读到第二章「方田」时,你不会把刘徽注当成《九章》原文,也不会因为某一句读不通就以为自己数学基础不够。
二、《九章》是一部累积性文本
中华数学史的研究在过去一百年里,对《九章》的成书过程做过相当详细的考据。我们现在可以比较有把握地说:现存传本的核心题目,最晚在西汉已经成型;东汉时期可能有过一次整理;魏晋刘徽于公元 263 年前后写成完整的注,把散在各题下的解法归纳为「术」,并补写了大量图解;唐代李淳风等受诏选定算学十书,于 656 年左右再次刊定《九章》;此后贾宪(约 1050 年)、杨辉(约 1261 年)等人又做过局部增订,主要是补充了「开方作法本源」(贾宪三角)和一些新的算例。
为了把这三个时代与中华数学史上的其他节点并置起来,请看下面这张时间轴。
```mermaid flowchart LR A["前5世纪<br/>九章古题<br/>在先秦流传"] B["前1世纪<br/>西汉成书<br/>九章定本"] C["263年<br/>刘徽注<br/>九章算术"] D["656年<br/>李淳风等<br/>再注"] E["1050年<br/>贾宪<br/>开方作法本源"] F["1261年<br/>杨辉<br/>详解九章"] G["现当代<br/>郭书春<br/>校点本"]
A --> B --> C --> D --> E --> F --> G ```
这张图最关键的信息,是「九章」从来不是一个静止的物件。它从 A 移动到 G 的过程中,每一次停靠都有人重新誊写、补订、注释。今天我们拿到的 1980 年代以后郭书春汇校本,是这条长链的最近一环。我们读它,等于在读一条由七个时点串成的对话。
这种「累积性」与西方数学传统中典型的「作者—作品」关系很不同。欧几里得的《几何原本》在相当程度上是公元前 300 年左右某位作者的独立著作;牛顿的《原理》是 1687 年某位作者按计划写成的;而《九章》在某种意义上像一座不断被扩建的城市。它的城墙可以追溯到先秦,但城内很多建筑是魏晋时加盖的,街道指示牌是唐代换过的,地名注释是宋代补的。读者若把这座城市当作「一次性落成」的住宅,就会闹笑话。比如「方程」章第八题,原文是「今有五牛、二羊、一犬,价直不满一贯」,但紧接其后的「术」明确写「右行下禾乘中行」,这一段显然是刘徽的术语,而不是题面所暗示的西汉语境。错把它当作西汉原话,会让读者误以为汉代人已经在用「右行」「中行」这类高阶的矩阵语言;正确做法是把「术」单独标出来,作为刘徽时代的方法论贡献来读。
让我们再举一个具体的例子来说明这种「时间叠加」如何实际影响一次普通的阅读。「少广」章第三题:「今有田积一百二十一步。问为开方几何?」紧跟着是「术曰:置积为实,借一算步之,超一等」。如果读者只看「术曰」之后那一句话,可能会觉得古汉代的开方术跟今天的中学生没什么两样:把被开方数放好,借一位算,超一等。但当他去查刘徽注,会发现刘徽在这一句之后补了几百字的解释,包括「开方图」的具体摆法(用算筹摆出每位上的商数)、「借算」的含义(用一根算筹占位)、「议位」(判断该位上的数字范围)的规则。这些细节中相当部分并未见于原术,是刘徽为教学方便而做的术语规范化。读者若不区分原术与刘徽注,就会以为汉代人已经用「借一算」「超一等」这种高度抽象的步骤语言,而实际上这可能是刘徽教学语言的固化。
三、三种时间层的分别识别
既然《九章》叠着三层时间,我们就需要一套快速识别的方法。我的建议是,每读完一段,先问三个问题。
第一,这段是「题」还是「术」?古题体例极短,多以「今有」开头,以「问…几何?」结尾;术文则多用「术曰」领起,给出可操作的算法。两者的差异在视觉上很显著,但有一种例外:原题之后紧跟的原术没有「术曰」字样,仅以独立段落出现。这就要求读者不仅看字面,也要看内容是否给出了可重复执行的步骤。
第二,如果它是「术」,它是「原术」还是「注」?原术在原题之后紧随给出,篇幅短小,多为一行;刘徽注则通常更长,会解释为什么这样做,会补充推导,会画图。例如「方田」章圆田术,原术只有一行「半周半径相乘得积步」,但刘徽用一段话解释了为何用 $\pi \approx 3$(古率)以及如何得到更精确的圆率 $\pi = 3927/1250$(徽率)——这一段解释性文字就是「注」。
第三,如果它是「注」,它是刘徽注还是后人再注?刘徽注通常以「徽曰」「臣淳风等谨按」之类形式出现,但更可靠的判别依据是看内容:是否引入新的算法符号(如「方程」章里的「左行」「右行」「中行」概念),是否使用开方图,是否引用《周髀》或《九章》本身的术语作为权威。李淳风等的再注则往往带有唐代的术语和算例风格,有时会给出更精确的常数(如对徽率 $\pi = 3927/1250$ 的进一步说明)。
把这三层分开之后,每一句话就有了时间坐标。例如「方程」章第三题的术文部分写着「术曰:以右行左行相减」。这句话其实是刘徽对原术的再表述——原术可能更简单,因为西汉人未必使用「左行」「右行」这种二维矩阵的方位语。「右行左行」是刘徽把方程组的系数布成一个二维矩阵后才说得通的术语。这一处的时间层判定,关键就在术语:凡出现「左行」「右行」「中行」「上禾」「中禾」「下禾」之类方位词,原则上都来自刘徽或更晚的注家。
把这种分层意识养成习惯之后,你读《九章》的方式就不再是「读一段懂一段」,而是「读一段,问一段它属于哪一层」。这种习惯一旦建立,你在读其他古代文献时也会受益——比如读《周髀算经》时同样可以问:这一段是商高与周公的对话原话,还是后人加进去的「注」?
四、九章地图:从方田到勾股
《九章》原书的章次是固定的。第一到第九章依次是方田、粟米、衰分、少广、商功、均输、盈不足、方程、勾股。这个次序不是随便排的,它大致按「先平面、后立体;先单比例、后多比例;先测量、后代数」的逻辑展开。我们按这个次序过一遍,每章给一个最简算例,让你有一张可以随时回看的地图。
方田(面积与分数)。 这是全书的第一章,处理田地面积的量算与分数运算。最核心的术是「广从相乘得积步」。一个最简例子:今有田广十二步,从十四步。问为田几何?答曰:一百六十八步。这一题的算法就是 $12 \times 14 = 168$,单位是平方步(步²)。分数部分的代表问题是「今有三分之一,三分之二,四分之三。问几何」之类的分数四则——其中关键术「约分术」「合分术」「减分术」「乘分术」「经分术」「课分术」等共同构成了一个完整的分数运算系统。读者进入这一章应带的预备知识是:会做整数乘除,理解「广」「从」是田的宽与长,「积」是面积,并且准备好面对古筹算特有的分数记法——分母在下、分子在上。
粟米(粮食交换的比例)。 这一章处理不同粮食之间的换算,背后是一张精密的比例表。原书给出了粟、粝米、粝饭、御米、御饭、菽、菽饭、麻、麻饭、麦、稻、豉、麹、荞麦等多种粮食之间的交换率。最核心的术是「以所有数乘所求率为实,以所有率为法,实如法而一」。最简例子:今有粟一十石,欲为粝米。问得几何?答曰:为粝米六石。这是按粟 50、粝米 30 的比率,换算 $10 \times 30 / 50 = 6$(单位是石)。读者进入此章应知道这些比率怎么用,以及「实」「法」「实如法而一」的术语含义——「实」是分子上的数,「法」是分母上的数,「实如法而一」即做除法。
衰分(分配的尺度)。 这一章处理按比例分配。最核心的术是「各置列衰,副并为法,以所分乘未分者各自为实,实如法而一」。最简例子:今有甲得三,乙得二,丙得一,凡三人共出六钱,问各出几何?答:甲出三钱,乙出二钱,丙出一钱。这是把 3:2:1 作为分配比例,加总得 6,再用比例项乘总数 6 钱,得各人份额。术语「衰」是「比例」的旧说法,「列衰」指罗列出来的各份之比。读者进入此章要熟悉「衰」就是「比例」的古语,并理解「副并」是把各「衰」项加总作为除数。
少广(开方与圆)。 这一章处理从已知面积反推边长(即开平方)以及圆与方之间的换算。最核心的术是「开方术」:置积为实,借一算步之,超一等,言多位。这一术讲的是把一个数摆成算筹形(如 $576$ 摆成 $5$、$7$、$6$ 三位),借一根算筹占在最高位左侧(表示这位上的商),再向后退一位(即「超一等」),然后求这位上的数字。最简例子:已知田积 576 步²,求边长,按开方术得边长为 24 步。圆的部分处理「圆田」「圆方」「圆囷」等形体的换算。读者进入此章应带的预备知识是:懂「平方根」的概念,知道古筹算如何摆位,并且准备好理解「借一算」这一高度抽象的步骤语言。
商功(体积)。 这一章处理土方工程中的体积计算,包括城、垣、堤、沟、堑、渠等。最核心的术是「城垣术」「堤积术」等。最简例子:今有方堡一所,南北各七尺,东西各九尺,高五尺。问积几何?答曰:三百一十五尺。这里涉及长方体体积 $7 \times 9 \times 5 = 315$ 立方尺。除了长方体,商功章还处理棱台、圆柱、圆锥、圆台、刍童(上小下大的方台)、曲池、曲垣等十几种几何体的体积公式——其中不少是古代中国独有的几何构造。读者进入此章应带的预备知识是:会算长方形与圆面积,准备好面对棱台与圆台公式的复杂代数运算。
均输(运输成本均衡)。 这一章处理按距离加权分配劳役与物资,是线性规划的最早形式。最核心的术是「均输术」:以日行里数为率,各置本人日行里数为法,以所求乘所行里数为实。最简例子:今有均输粟,甲县一万户,行道八日而至;乙县五千户,行道十日而至;合计六千户所输,问各输几何?这是按「户数 × 道里」加权。读者进入此章应带的预备知识是:理解「加权平均」的概念,能把实际距离转换为运输工作日。
盈不足(双重假设)。 这一章处理线性问题的解法,用「两次假设」消解。最核心的术是「盈不足术」:置所出率,以盈不足之数相减,剩余为法,置所出率与盈数相乘,剩余为实,实如法而一。最简例子:今有共买物,人出八盈三,人出七不足四。问人数物价各几何?答:六人,物价四十八。「两次假设」这种方法在西方称为「double false position」,常被认为起源于阿拉伯或印度,但《九章》的盈不足章是这一方法最早的明确记载之一。读者进入此章应带的预备知识是:理解代数中的线性关系,能把「盈」与「不足」转化为正负数。
方程(线性方程组的阵列方法)。 这一章是全书的高潮,处理多元一次方程组。最核心的术是「直除术」与「互乘相消术」。最简例子:今有上禾三秉,中禾二秉,下禾一秉,实如上法。二以上禾为法——这是把方程组的系数布成一个二维算筹矩阵,然后按行做消去运算。最简具体例子:今有上禾七秉,下禾九秉,实一十;二以上禾乘下禾减之。这是 $7x + 9y = 10$ 与 $3x + 2y = 6$(假设的第二组)之间的消元。读者进入此章应带的预备知识是:懂矩阵的基本概念,会做加减消元,准备好理解「上禾」「中禾」「下禾」是把三组未知量按行排列形成的阵列。
勾股(直角三角形与测量)。 这一章处理勾股定理及测量。最核心的术是「勾股术」:勾股各自乘,并而开方之,即弦。最简例子:勾三,股四,问弦几何?答:弦五。背后是 $\sqrt{3^2 + 4^2} = 5$。勾股章还处理「勾股测量」的实际应用,例如「今有山居木,不知其高」之类的测高问题,以及「今有井径五尺,不知其深」之类的测深问题。读者进入此章应带的预备知识是:懂毕达哥拉斯定理的几何含义,能把它与开方术联系起来。
这张地图是为了让你在接下来每一章的细读之前,先有个全局感。当你读到「均输」时不要以为它在讲交通运输学——它讲的是按距离加权的分配;当你在「方程」里看到「左行右行」,不要以为这是电脑程序里的行——它指代的是算筹在布列时形成的二维矩阵。
五、几个关键的算例预演
为让你在进入第二章之前,就对《九章》的「题—术—注」三段式有一具体感受,我提前给出三个来自不同章节的最简例子。
例一(方田章第一题)。 题:今有田广十二步,从十四步。问为田几何?答:一百六十八步。原术:术曰:广从相乘得积步。这一题没有刘徽注,因为实在太简单。这里的「广」是宽、「从」是长(即纵),二者相乘即得面积。算例的演算过程就是写下 $12 \times 14 = 168$,单位是平方步。
例二(方程章第一题)。 题:今有上禾三秉,中禾二秉,下禾一秉,实如上法;以上二禾为法,问上下禾实各几何?这里预设了上禾、中禾、下禾的秉数(即方程中各未知量的系数),并以 1 为单位产量(即上法)。原术:术曰:置上禾三秉,中禾二秉,下禾一秉,实如上法;以上二禾为法。把 3、2、1 摆成算筹阵(每行三根算筹),然后做消去。刘徽注:详细解释了如何用「直除术」消元,并给出了算筹摆法的图形。这是「题—原术—刘徽注」三段式最完整的体现。
例三(盈不足章第一题)。 题:今有共买物,人出八盈三,人出七不足四。问人数物价各几何?答:六人,物价四十八。原术:术曰:置所出率,以盈不足之数相减,剩余为法;置所出率与盈数相乘,剩余为实;实如法而一。这里「所出率」即假设的人均出钱 8 与 7。盈 3 不足 4 之差为 7,作为「法」;以「盈数」3 乘「所出率」8 得 24,作为「实」;$24 \div 7$ 得人数。但这里 24/7 不是整数,原书会接着给出第二个公式换算,得整数 6 人。
这三个例子的共同点是:每一题都同时包含「数据」与「算法」,二者紧密咬合。原题给出一个具体场景,原术把这个场景转化为可重复执行的步骤,刘徽注则把这个步骤背后的逻辑讲透。我们读《九章》的方式,就是逐题把这三层剥开来各看一遍。
六、本书的阅读约定
为避免每次细读都重复约定,我把本书的技术体例固定如下三段式。
原文段。 一切引自《九章》原文的句子,一律以郭书春校点本(《汇校九章算术》增补版,辽宁教育出版社,或科学出版社近年新版)的句读为准。遇到一字两读且诸家分歧的,本书给两读而不强行定论。例如「盈不足」章的「凖」字,或作「准」,或作「凖」,本书并存。原文中偶有句读两可的,本书按郭本校点的句读为准;若诸家异说并存,则以脚注形式列出。
术文译解段。 原文之后紧跟术文的现代汉语译解。这一段严格保留「以…为…」式的古典句法结构。例如「以所分乘未分者各自为实」译为「以所分配之数乘未分配者,各自得实数」。这样既保留了古书的节奏,又让现代读者能读懂。术语的翻译遵循「以古训今」的原则——能不译的就不译,保留古汉语原貌;非要译的,按唐宋注疏与现代数学史界的通行译法。例如「实」「法」「乘」「除」「以…」皆保留,只在必要时加现代汉语括注。
算例段。 每一条术之后,给出至少一个完整的现代算例。算例的演算过程按算筹写法的现代对译写清,包括每一步骤的中间结果。例如「方程」章第一题的算例,会列出「上禾三秉、中禾二秉、下禾一秉」如何布成算筹阵,再列出第一步「以右行乘左行」「置为新行」的演化,并附现代代数记号 $3x + 2y + z = ?$(以对应解释)。算例优先选用原书已有的例子,只在必要时补充新的例子——新增的例子会标注「本书另设」。
这三段式是本书的核心方法:原文段是底片,术文译解段是说明文字,算例段是带读者走一遍的实测。三者配合,每一章的学习就形成一个闭环。读者读完一段原文,能通过译解知道它在说什么;再通过算例知道它在做什么。
七、给初学者的一份预备清单
在进入第二章之前,请确认你已经具备以下预备知识。
整数四则:加减乘除都要熟练,特别是「直除」的概念——两个整数相除只取整数部分,这在古筹算中极为常见。分数运算:约分、通分、四则运算都要会,特别是「合分」即分数加法、「课分」即分数比较大小。开方根:理解平方根、立方根的几何含义与数值算法。比例:理解「甲之比乙」即甲:乙 = p:q,能把它转化为分数 $p/(p+q)$。算筹摆位:知道古筹算用算筹表示数字,且分母在下、分子在上。
如果以上某项你还不熟练,建议先翻到相应章节的附录——本书在每一章末尾都给出该章需要的预备知识点,并指出参考练习。务必不要因为某个术语一时读不懂就放弃整个章节——古汉语术语的陌生是暂时的,一旦你习惯了「以…为…」「实」「法」「乘」「除」的用法,阅读速度会迅速上升。
八、现在,让我们先站到一块方田上
读完本章,你应该已经把《九章》想成一座不停扩建的城,把每一句话都放进时间坐标里;你也已经拿到了九章地图,知道每一章的中心问题和最简算例;你更知道本书的解读遵循原文、术文译解、算例三段式。
那么,让我们从全书的入口——方田章——开始一次真正的细读。你将看到,如何在十二步乘十四步的简单面积问题中,发现分数的精细使用;如何区分古题与刘徽注;如何把「半周半径相乘得积步」这一句话,真正还原成圆面积公式的原始推导。第二章我们将进入方田,全书最朴素也最容易被忽视的一章。但正是这一章里的分数运算,为后来粟米、衰分、均输的比例系统埋下了基础;正是这一章里的圆面积公式,为后来少广、商功的立体几何埋下了基础。一座数学大厦的地基,往往藏在最不起眼的第一章里。
本章小结
《九章算术》是一部累积性文本,叠着先秦古题、魏晋刘徽注、唐宋再注三层时间。读它的人必须养成「问一句属于哪一层」的习惯,否则就会把后人的术语误植给原作者。九章按方田、粟米、衰分、少广、商功、均输、盈不足、方程、勾股的次序展开,大致按先平面后立体