∫π每天一道数学题
← 返回孙子算经专题
孙子算经 · 第 4 讲 · 2026-09-02 · 约 11 分钟

第4讲 筹算乘法——九九八十一,自相乘

八十一自相乘,六千五百六十一——古代人没有乘法竖式,他们用算筹和口诀,一步一步算出来。这背后是一套完整的位值制思想。

原典

九九八十一,自相乘,得几何?

答曰:六千五百六十一。

术曰:重置其位,以上八呼下八,八八六十四,即下六千四百于中位。以上八呼下一,一八如八,即于中位下八十。退下位一等,收上头位八十以上位一呼下八,一八如八,即于中位下八十。以上一呼下一,一一如一,即于中位下一。上下位俱收中位,即得六千五百六十一。

——《孙子算经·卷上》

白话翻译

题目很简单:81 乘以 81,等于多少?

答案是 6561。

但"怎么算"的过程,才是精彩的部分。孙子给出了详细的操作步骤:

第一步,把两个 81 上下排好位置("重置其位")。 第二步,用上面那位的十位数"八",去乘下面那位的十位数"八"——得到 64,但这个 64 表示的是 64 个百(因为是十位×十位),所以写在中间位作为"六千四百"。 第三步,用上面那位的十位数"八",去乘下面那位的个位数"一"——得到 8,表示 8 个十(十位×个位),写成"八十",加在中间位。 第四步,把上面的 81 往左移一位("退下位一等"),现在用上面那位的个位数"八",去乘下面那位的十位数"八"——又得到 64,这个 64 表示 64 个十,所以写成"六百四十"加在中间位。 第五步,用上面那位的个位数"八",去乘下面那位的个位数"一"——得到 8,写成 80(个位×十位),加在中间位。 第六步,最后用上面那位的个位数"一",去乘下面那位的个位数"一"——得到 1,写成 1,加在中间位。 第七步,把所有部分积加起来:6400 + 80 + 640 + 8 + 1 = 6561。

看,这就是古代的竖式乘法。只不过不是写在纸上,而是用算筹摆出来,一步一步操作。

示意图

筹算乘法:81×81

81 × 81 的筹算过程:分四步相乘,再将部分积相加

数学解读

1. 孙子算法与现代竖式的对应关系

把孙子的文字描述翻译成现代竖式,是这样的:

+81×  81+81(8 × 1,个位×个位)——注意这里孙子写的是80640(8 × 80,个位×十位)——孙子写作"六百四十",实际是64×1080(1 × 80,个位×十位)+6400(1 × 80,十位×十位,进位后为6400)6561\begin{aligned} &\phantom{+}81 \\ \times \;&81 \\ \hline &\phantom{+}81 \quad \text{(8 × 1,个位×个位)——注意这里孙子写的是80} \\ &640 \quad \text{(8 × 80,个位×十位)——孙子写作"六百四十",实际是64×10} \\ &80 \quad \text{(1 × 80,个位×十位)} \\ +&6400 \quad \text{(1 × 80,十位×十位,进位后为6400)} \\ \hline &6561 \end{aligned}

其实仔细对照孙子的原文,你会发现他的算法和我们的标准竖式几乎一模一样——只是顺序不同。我们通常从右向左逐位相乘,而孙子则是按照上位的每一位分别去乘下位的每一位,最后统一汇总。

本质上,这就是乘法分配律的展开:

81×81=(80+1)×(80+1)=802+2×80×1+12=6400+160+1=656181 \times 81 = (80 + 1) \times (80 + 1) = 80^2 + 2 \times 80 \times 1 + 1^2 = 6400 + 160 + 1 = 6561

孙子的步骤恰好对应了 a2+2ab+b2a^2 + 2ab + b^2 的展开过程,只不过他没有用代数符号,而是用文字描述每一步的操作。

2. "以上命下":位值制的核心秘密

孙子在讲解乘法之前,先说了一句非常重要的话:

凡乘之法:重置其位,上下相观,头位有十步,至十有百步,至百有千步,至千以上命下,所得之数列于中。

这句话的意思是:摆放算筹的时候,要先看清楚数位的位置——个位、十位、百位、千位,依次排列。"头位"是最高的那一位,往下数,十步到百,百步到千,以高位来命名低位的量级("以上命下")。

这才是筹算能够成功的关键:位值制。同样的数字"8",摆在个位就是8,摆在十位就是80,摆在百位就是800。古人不用"0"这个占位符,而是通过算筹在算筹板上的位置来表达数位——这比印度-阿拉伯数字的位值概念早了好几百年。

3. 九九表:古代的计算引擎

孙子之所以能这么快算出 81 × 81,靠的不是心算能力,而是对九九乘法表的熟练掌握。九九表是中国古代儿童入学必背的内容,据说在两千年前的春秋时期就已经流传了。

有趣的是,当时的九九表是从"九九八十一"开始,而不是从"一一得一"开始——就像我们今天教英语字母从 A 到 Z,而古代的数学口诀从最大开始倒着背。这种"大九九"(81句)的背诵方式,一直延续到唐代。到了宋代,才逐渐演变为"小九九"(36句,只背"小因大因",不背"大因小因",如"八九七十二"而非"九八七十二")。

版本句数特点
大九九81 句从"九九八十一"到"一一得一",正反都背
小九九36 句只背较小数在前的口诀,省略冗余
西方九九表100 句1×1 到 9×9,包含交换律重复项

4. 为什么"八十一,自相乘"要拆成四步?

你可能会问:既然有乘法分配律,直接 (80+1)2(80+1)^2 不就行了吗?为什么还要分四步走?

原因在于算筹操作的物理约束。算筹是实体的小棍子,你一次只能移动有限的数量。如果直接把 6400 + 80 + 640 + 1 全部写出来,中间没有暂存的空间。所以孙子规定了一个程序:每一步只算一个"部分积",写在中位,最后再统一汇总。

这个思路和我们今天学竖式乘法时先算各个"部分积"再相加,是完全一致的。只不过在纸上计算时,我们习惯从左到右写,而孙子是在算筹板上从右到左摆放——操作方向相反,但数学本质相同。

5. 与欧洲竖式乘法的历史对比

欧洲的竖式乘法大约在公元12世纪才由斐波那契(Leonardo Fibonacci)从阿拉伯世界引入。而孙子的筹算乘法——至少就我们今天看到的最早文本——已经系统地描述了两步以上整数乘法的完整算法。

当然,"最早"不等于"最好"。阿拉伯数字(包括0的占位符)在书写和运算效率上有天然优势,它让乘法可以一次性写到纸上,而不需要像算筹那样一步步摆放。但算筹的优势在于可以实时检查和纠错——每一根棍子的位置都清清楚楚,一步算错了可以立刻发现并纠正。

这两种方法各有千秋:算筹更像"操作型"计算,竖式更像"记录型"计算。

高中课本关联

① 完全平方公式(必修第一册)

812=(80+1)2=802+2×80×1+12=6400+160+1=656181^2 = (80 + 1)^2 = 80^2 + 2 \times 80 \times 1 + 1^2 = 6400 + 160 + 1 = 6561

这是初中就学过的公式,但很少有人想过:古人没有代数符号,他们是怎么把 (a+b)2(a+b)^2 展开的?孙子用文字一步步描述了这个过程——这正是数学史上"代数化"之前的典型做法:用语言描述代数结构,而不是用符号表达

学生如果能亲手用算筹(或者用小棒代替)模拟一遍这个过程,会对完全平方公式有更深的体会。

② 乘法分配律(必修第一册)

81×81=81×(80+1)=81×80+81×181 \times 81 = 81 \times (80 + 1) = 81 \times 80 + 81 \times 1

孙子的算法本质上就是乘法分配律的多次应用。可以让学生思考:如果换成 123×45123 \times 45,孙子的"重置其位"该怎么操作?让学生用自己的话描述算法,而不是直接背"竖式",能更好地理解运算的本质。

③ 位值制与进制(选择性必修第三册 / 数学文化选修)

算筹的位置编码本质上是一种位值制。可以借此引入"为什么我们需要位值制"这个问题——如果没有位值制,同样的数字"8"没有位置信息,我们就无法区分 8、80、800。古希腊人就因为没有位值制,不得不发明一套复杂的记数系统。

位值制是数学史上最伟大的发明之一,它的功劳不亚于勾股定理。

教学启示

讲乘法竖式的时候,很多老师直接告诉学生"从个位开始乘,满几十进几"。但如果先展示一下孙子是怎么算的——用语言描述每一步操作——学生会发现:原来竖式的每一步都不是凭空来的,它们都有清晰的来源。

这种"溯源式"讲法有几个好处:

  • 学生不再把竖式当成死记硬背的规则,而是理解成一种操作程序;
  • 学生感受到"数学一直在进化"——今天的规则是古人一步步试出来的;
  • 数学不再是冷冰冰的公式,而是一种"人类思考世界的工具"。

思考与拓展

  1. 动手试试:用牙签或小棒在桌面上模拟筹算过程,算一算 37×3737 \times 3793×9393 \times 93。看看你能不能按照孙子的步骤,一步一步正确地摆放和移动"算筹"。

  2. 拓展思考:孙子给出的算法适用于任意两位数的乘法。你能把这个算法推广到三位数乘法吗?比如计算 123×123123 \times 123,需要几步?每一步分别算什么?

  3. 历史探究:中国的九九乘法表和西方的九九乘法表有什么关系?为什么西方要到12世纪才通过阿拉伯人学到"印度-阿拉伯数字"和竖式乘法?这背后有什么文化交流的故事?

一句话总结

孙子算经的筹算乘法,用纯文字描述了一套完整的竖式运算程序——两千年前,中国人就已经在用"位值制"和"分配律"进行系统化的多位数乘法计算了。

— Y. · 2026-09-02