∫π每天一道数学题
← 返回孙子算经专题
孙子算经 · 第 1 讲 · 2026-08-30 · 约 10 分钟

第1讲 算筹记数——古人用小棍子怎么表示数字

一纵十横,百立千僵——用竹棍摆出的十进制,比西方早了一千年。

原典

凡算之法,先识其位,一从十横,百立千僵,千十相望,万百相当。

——《孙子算经·卷上》

白话翻译

凡是计算的方法,首先要认识数位。个位用纵式,十位用横式,百位立(纵)着放,千位躺(横)着放;千位和十位都是横式、万位和百位都是纵式,它们两两相望、格式对应。

这短短十六个字,是中国古代算筹记数法的总纲。

示意图

算筹记数法示意图

图中用纵横交替的算筹表示数字 12345:个位五根纵筹、十位四根横筹、百位三根纵筹……

数学解读

1. 什么是算筹?

算筹就是一把小棍子——竹子做的叫"筹",木头做的叫"策",还有用骨头、象牙、金属做的。长短粗细差不多,一般长约14厘米,直径约0.2厘米。

别小看这堆小棍子,中国古代所有的数学计算,从加减乘除到开方、解方程,全靠它们完成。祖冲之算圆周率精确到小数点后七位,用的就是算筹。

2. 纵式和横式:为什么要有两套?

1到5很简单——几根筹就代表几。但问题来了:如果12只摆成"| ||",你知道是12还是3?两个数挨在一起就分不清了。

古人的解决方案非常聪明:相邻数位用不同的摆法,一个纵着、一个横着,交替使用

  • 个位:纵式(竖着摆)
  • 十位:横式(横着摆)
  • 百位:纵式
  • 千位:横式
  • 万位:纵式
  • ……以此类推

这样,就算两个数字紧贴在一起,你一看一纵一横,就知道它们属于不同的数位,绝不会搞混。

万位 纵=千位 横百位 纵十位 横个位 纵\underbrace{\vert}_{\text{万位 纵}} \quad \underbrace{=}_{\text{千位 横}} \quad \underbrace{\vert\vert\vert}_{\text{百位 纵}} \quad \underbrace{\equiv\equiv}_{\text{十位 横}} \quad \underbrace{\vert\vert\vert\vert\vert}_{\text{个位 纵}} 12345123451 \quad 2 \quad 3 \quad 4 \quad 5 \quad \Longrightarrow \quad 12345

3. 6到9怎么摆?

你可能注意到了,如果1到5是一根一根累加,那5就是5根竖棍。那6呢?摆6根?那7、8、9呢?太占地方了。

古人的办法跟罗马数字类似——用一根横放的代表5(像算盘的上珠):

  • 6 = 上面一横 + 下面一纵 (T 字形)
  • 7 = 上面一横 + 下面二纵
  • 8 = 上面一横 + 下面三纵
  • 9 = 上面一横 + 下面四纵

横式反过来:6用一纵在上,其余横摆在下。

这样一来,再大的数字,每位最多只用5根筹(1上+4下),干净利落。

4. 零怎么办?

这是最妙的地方——零不用摆,空着就行

比如105,就摆成"纵 空 纵纵纵",中间那个位置空出来,大家就知道那一位是0。

这本质上就是位值制(place value system)——数字的值不仅看有几根筹,还要看它在什么位置上。同样一根筹,摆在个位就是1,摆在百位就是100。

这个想法现在看起来天经地义,但在人类历史上是个了不起的发明。古巴比伦、古埃及、古罗马都没有发展出完整的位值制,中国的算筹记数法是全世界最早的十进制位值制之一。

高中课本关联

① 进位制思想(必修第一册·指数与对数)

算筹记数的本质就是十进制位值制。每个位置代表不同的数量级(个、十、百、千……),跟我们今天学的

12345=1×104+2×103+3×102+4×101+5×10012345 = 1 \times 10^4 + 2 \times 10^3 + 3 \times 10^2 + 4 \times 10^1 + 5 \times 10^0

完全同构。古人没有指数符号,但他们用"纵横交替"的物理布局,把位值制落到了实处。

② 二进制与信息编码(信息技术 & 数论入门)

纵横两种状态交替使用,跟二进制的思想遥相呼应——用两种状态的组合来表示更多信息

一纵一横区分相邻数位,本质上是一种校验机制:用形状差异防止数字错位。这跟现代计算机里用奇偶校验、用不同频率区分信道,思路如出一辙。

③ 数论与中国剩余定理的伏笔

孙子算经最著名的贡献是"物不知数"问题(卷下第26题),也就是中国剩余定理。而要理解中国剩余定理,首先要理解"不同模数下的位值"——每个模数构成一个"数位",这跟算筹的位值制思想一脉相承。

思考与拓展

  1. 想一想:如果算筹用三进制(纵、横、斜)来区分相邻数位,会不会更高效?为什么古人最终选择了两种形态?

  2. 算一算:用算筹摆出数字 706、3141、9876,分别应该是什么样子?画出来试试。

  3. 比一比:罗马数字(I, V, X, L, C, D, M)和算筹记数法,哪一个更适合做加减乘除?为什么?

  4. 查一查:你知道算盘的上珠一颗代表5、下珠一颗代表1,这个设计跟算筹的6-9表示法有什么关系吗?

一句话总结

算筹不是简单的"数数工具",而是一套完整的十进制位值制系统——用纵横交替解决了错位问题,用空位解决了零的问题,用一横当五解决了大数的空间问题。 这套系统支撑了中国数学两千年,是我们理解古代算法的基础。

— Y. · 2026-08-30