手指不够用了怎么办?——认识算筹
第 1 章:手指不够用了怎么办?——认识算筹
从掰手指开始的故事
想象这样一个场景:一个七岁的小男孩坐在课桌前,面前摆着一道数学题:"小明有7个苹果,又买了5个苹果,他一共有多少个苹果?"这个小男孩开始掰手指——左手掰出7个,右手掰出5个。然后他试图把两只手的数字加在一起,却发现手指不够用了。他的眉头皱了起来,开始用脚趾帮忙,或者在心里默念,或者在纸上画圈圈。
这个场景在古今中外的教室里不断重演。每当孩子们学习加法时,几乎都会经历"掰手指"这个阶段。手指作为人类最方便的计算工具,陪伴无数学龄儿童度过了数学启蒙的时光。
然而,当人类面临的数字越来越大、计算越来越复杂时,手指就显得捉襟见肘了。古人在没有计算器的时代,是如何进行复杂数学运算的呢?
答案藏在一根根不起眼的小竹棍里。
这些小竹棍有一个专门的名字——算筹。它们是中华民族在数学领域最伟大的发明之一,是世界上最早、最先进的计算工具之一。在长达两千多年的时间里,算筹帮助中国人完成了从日常买卖到天文历法、从工程建筑到国家治理的一切数学计算工作。
算筹的起源:从结绳记事到手指计算的局限
要理解算筹为什么会出现,我们得先看看在它诞生之前,人们是如何记数和计算的。
结绳记数:人类最早的记忆辅助工具
在文字发明之前,人类已经学会了用结绳来记录数字。考古学家在秘鲁、玻利维亚以及中国西藏等地都发现过古代的结绳实物,这些被称为结绳记数的遗物可以追溯到数千年前。
结绳记数的原理并不复杂:用一根主绳作为基准,根据绳结的大小、位置和数量来表示不同的数字。比如,大绳结代表十,小绳结代表一;位置不同代表个位、十位、百位。这种方法对于记录已经发生的数量(比如羊群有多少只羊、仓库里有多少袋粮食)非常有用。
但是,结绳记数有一个致命的弱点——它只能记录结果,无法进行实时计算。当一个商人想要计算"卖出3匹布,收入5枚金币,再买进2头牛,还剩多少钱"这样的连续交易时,结绳就完全无能为力了。他必须在心里算出每一步的结果,再打上新的绳结,或者干脆用其他方法来完成计算。
手指计算:随身携带的天然算盘
手指是人类最方便、最随身携带的"计算器"。在世界各民族的文化中,都可以看到用手指进行计算的方法。古希腊数学家塞萨格鲁(Theodosius)曾专门论述过手指计算术;罗马帝国时期甚至出现了一种叫作"手指计数法"(finger calculus)的系统化方法,可以在0到9999之间表示任意数字。
中国古代也有丰富的手指计算传统。成语"掐指一算"正是这种方法的形象写照。古代的账房先生、商人甚至官员,都常常使用手指来进行快速的加减运算。
然而,手指计算同样面临根本性的局限。首先,手指的数量有限——即使算上脚趾,也不过二十个。其次,手指计算无法保留中间结果,一旦分心就会前功尽弃。第三,手指计算难以进行复杂的乘法、除法和更高级的运算。当需要计算"1234乘以567"这样的问题时,没有任何人的手指能够胜任。
算筹的诞生:一次伟大的工具革命
正是这些局限性催生了算筹的发明。
根据史料记载和考古发现,算筹大约诞生于春秋战国时期,距今已有两千五百多年的历史。最早的算筹可能只是人们随手捡起的小树枝、小竹棍,后来逐渐标准化为专门制作的计算工具。
《方言》一书中记载:"木细枝为策。"这里的"策"就是算筹的古称之一。《史记·张良列传》中提到张良"运筹策于帷幄之中",这里的"运筹"最初就是指运用算筹进行计算,后来才演变为筹划、谋划的广义含义。
算筹的材质经历了多次演变。早期以木棍为主,后来发展出竹筹、骨筹、象牙筹甚至玉筹。不同材质的算筹代表了不同的使用场景和用户身份:民间商人用竹筹或木筹,官方算术家用骨筹或象牙筹,而皇家礼仪中则可能出现玉筹。
算筹的标准长度也有明确规定。《汉书·律历志》记载:"其算法用竹,径一分,长六寸。"也就是说,标准的算筹直径约0.23厘米,长度约13.8厘米。这个尺寸是经过精心设计的——既足够长以便灵活摆放出各种数字,又足够短以便随身携带。
为什么是圆形或方形?因为圆形筹棍易于在桌面上滚动便于调整位置,而方形筹棍则更稳定不易滚落。不同地区、不同时期的算筹形成了圆形和方形两大传统。北方多圆形,南方多方形——这个有趣的地域差异可能与各地的气候条件、竹木资源以及使用习惯有关。
算筹的出现,标志着人类计算工具的一次质的飞跃。它不再受限于人体的自然数量(手指、脚趾),而是可以通过筹棍的排列组合来表示任意大小的数字。它可以保留计算过程,随时回溯检查。它可以进行加减乘除、开方求根等复杂运算。这些都是结绳和手指根本无法实现的功能。
算筹的形制与制作:一根小棍子的讲究
选材与预处理
制作一根合格的算筹,需要经过精心挑选和加工。
首选材料是竹子,因为竹子轻便、耐用、取材方便,而且竹子的纤维结构使得筹棍既有一定强度又不易折断。具体来说,人们会选择生长两到三年的成熟竹子,砍下后去掉枝叶和节疤,锯成适当长度的段,然后在阴凉通风处晾干。
晾干后的竹段需要劈成细条。这个过程需要相当的技术:劈得太粗则筹棍太粗无法精细排列,劈得太细则容易折断且不够醒目。经验丰富的工匠可以根据竹段的纹理自然走向,一气呵成地将一根竹段劈成数十根粗细均匀的竹丝。
接下来是打磨和抛光。用细砂石将竹丝表面打磨光滑,去除毛刺和棱角。这一步非常重要,因为算筹需要在桌面上频繁移动和调整,表面粗糙的筹棍会增加摩擦力,影响计算效率。
最后是火烤定型。将打磨好的竹丝放在火上微微烘烤,使其中的油脂渗出并在表面形成一层天然的保护膜。火烤还能增加竹丝的韧性,减少日后使用中的断裂。烘烤程度需要精确把握——烤得太轻则效果不佳,烤得太重则竹丝变脆易断。
经过这些工序,一套合格的算筹就诞生了。通常一套算筹有271根或200余根,用丝线或皮绳捆扎成把,放置在专门的算筹筒或算筹袋中随身携带。
形制规格:大小统一才能协同计算
算筹虽然是简单的工具,但在规格上有严格的统一标准。这种标准化是算筹能够成为一种通用计算工具的基础。
首先是长度统一。前面提到汉代标准是六寸,约合今制13.8厘米。这个长度是经过长期实践摸索出来的:太长了不易操作和携带,太短了则无法清晰显示数字和算式。
其次是粗细统一。标准的算筹直径约为0.23厘米。这个粗细使得筹棍既有一定的重量感(放在桌面上稳定),又不至于太粗而影响密集排列。
第三是形状统一。同一个地区、同一套算筹的筹棍形状必须一致。要么全是圆形,要么全是方形,不能混用。因为圆形和方形的筹棍在摆放时占用空间不同,如果混用就会导致算式错乱。
算筹的存放与携带
古人发明了专门的容器来存放和携带算筹。最常见的是算筹筒,用竹、木或金属制成,筒身上细下粗,可以稳固地放在桌面上。算筹平时插在筒中,取用时一根根抽出,使用完毕后再一根根插回。
还有一个有趣的细节:古人存放算筹时有一个特定的习惯——将算筹按照奇数和偶数分成两把。奇数算筹和偶数算筹分别存放在算筹筒的两侧,或者用不同颜色的丝线捆扎。这个习惯与算筹记数法中的"正负分别"传统有关。
正是在这样精心的设计和制作中,一根根看似简单的竹棍、木棍,承载起了古代中国数学计算的重任。
算筹记数法:0到9的十种姿态
十进制的数字系统
算筹能够进行复杂计算的前提,是它能够清晰、准确地表示数字。算筹采用的是十进制的位置记数系统,这是中国古代数学对人类文明的重要贡献之一。
十进制的意思是"满十进一",即每满十个单位就向高位进一个单位。我们今天使用的阿拉伯数字0、1、2、3、4、5、6、7、8、9就是十进制的符号表示。而算筹则用筹棍的摆法来代替这些符号。
位置记数系统的关键在于位值的概念。同样是数字"5",放在个位表示5,放在十位就表示50,放在百位就表示500。这种用位置来区分数值大小的方法,大大简化了记数和计算。
纵横交替法则
算筹记数的核心规则是纵横交替。
具体来说,同一个数字在个位用纵式表示,在十位用横式表示,在百位又用纵式,在千位又用横式,以此类推。奇数位用纵式,偶数位用横式。
为什么要这样麻烦地交替使用两种形式呢?这是为了避免位数混淆。假设我们用同样的摆法表示各个位数的数字,当把多个数字并列在一起时,就会出现歧义:比如三个竖棍排在一起,是表示三个"1"(即111),还是表示一个"3"(即3)?通过纵横交替,同样的三个竖棍在纵式和横式中的含义就完全不同了。
这个设计精妙地解决了位值制记数的歧义问题,是算筹记数法的灵魂所在。
0到9的数字摆法
让我们来看看算筹如何表示0到9这十个数字。以下是详细的摆法说明:
纵式(用于个位、百位、万位等奇数位):
- **0**:用空位表示,不摆任何筹棍
- **1**:一根竖棍 `|`
- **2**:两根竖棍 `||`
- **3**:三根竖棍 `|||`
- **4**:四根竖棍 `||||`
- **5**:在横梁上方摆一根棍(五)
- **6**:在横梁上方摆一根棍,在下方摆一根棍
- **7**:在横梁上方摆一根棍,在下方摆两根棍
- **8**:在横梁上方摆一根棍,在下方摆三根棍
- **9**:在横梁上方摆一根棍,在下方摆四根棍
横式(用于十位、千位、十万位等偶数位):
- **0**:用空位表示,不摆任何筹棍
- **1**:一根横棍 `—`
- **2**:两根横棍 `═`
- **3**:三根横棍 `═`
- **4**:四根横棍 `════`
- **5**:在竖梁左侧摆一根棍
- **6**:在竖梁左侧摆一根棍,在右侧摆一根棍
- **7**:在竖梁左侧摆一根棍,在右侧摆两根棍
- **8**:在竖梁左侧摆一根棍,在右侧摆三根棍
- **9**:在竖梁左侧摆一根棍,在右侧摆四根棍
```mermaid flowchart LR subgraph 纵式 A1["1: |"] A2["2: ||"] A3["3: |||"] A4["4: ||||"] A5["5: ┬"] A6["6: ┬┴"] A7["7: ┬||"] A8["8: ┬|||"] A9["9: ┬||||"] end subgraph 横式 B1["1: —"] B2["2: ═"] B3["3: ═══"] B4["4: ════"] B5["5: ├"] B6["6: ├┤"] B7["7: ├||"] B8["8: ├|||"] B9["9: ├||||"] end ```
数字组合示例
掌握了单个数字的摆法,我们就可以摆出任意数字了。例如:
数字"3,072" 的摆法(从左到右依次为千位、百位、十位、个位):
- 千位(纵式):三根竖棍 `|||`
- 百位(横式):空位(表示0)
- 十位(横式):七 `|┤`
- 个位(纵式):二 `||`
数字"9,864" 的摆法:
- 千位(纵式):九 `┬||||`
- 百位(横式):八 `|├|||`
- 十位(横式):六 `|┤`
- 个位(纵式):四 `||||`
数字"5,050" 的摆法:
- 千位(纵式):五 `┬`
- 百位(横式):空位
- 十位(横式):五 `├`
- 个位(纵式):空位
零的特殊处理
在算筹记数法中,零用空位来表示。这与现代数学中用"0"表示零是一致的,但形式上不同。摆放算筹时,如果某个位数是零,就不摆任何筹棍,留下一个空位即可。
这种方法在视觉上非常直观——空位就是零,不需要额外的符号。但它也有一个潜在的风险:如果不小心留错了空位的位置,整个数字就会错位。为解决这个问题,古代算学家在连续多个零的情况下,会在中间插入一个专门的空位标记,类似现代的引号作用,以提示这里有数字间隔。
正负数的表示
算筹记数法不仅能表示正数,还能表示负数,这是其先进性的重要体现。
正数用红筹表示(染成红色的筹棍),负数用黑筹表示(保持原色的竹筹)。或者反过来,用不同颜色的筹棍区分正负也是常见的做法。在使用中,通常将正筹和负筹分别放在算筹筒的两侧,便于取用。
还有一种表示方法是改变筹棍的倾斜方向:向右倾斜表示正数,向左倾斜表示负数。这种方法不依赖颜色,更加通用,但辨认起来需要一定的练习。
正负数的出现,使得算筹可以进行更复杂的代数运算,包括解方程、处理盈亏问题等。这是算筹超越单纯算术运算的关键一步。
算筹的计算方法:用竹棍做加减乘除
加法的摆算
算筹进行加法的基本原理是逐位相加,满十进一。让我们通过一个具体例子来理解这个过程。
计算:67 + 28 = ?
第一步:摆出被加数67。
- 十位(横式):六 `|┤`
- 个位(纵式):七 `┬||`
第二步:加上加数28。
- 在十位上再加二:`|┤` + `||` = `|||`,即八
- 在个位上再加八:七的摆法是`┬||`,再加一根横棍变成`┬|||`(即九),再加一根变成进位
第三步:处理进位。
- 个位七加八等于十五,满十进一:个位留下五(`┬`),十位再加一
最终结果:九十五。
这个过程与现代竖式加法完全一致,只是用筹棍的增减代替了数字的书写。
减法的摆算
减法是加法的逆运算,操作方法类似,只是改为逐位相减,不够减时向前一位借一。
计算:95 - 28 = ?
第一步:摆出被减数95。
- 十位(横式):九 `|├||||`
- 个位(纵式):五 `┬`
第二步:减去减数28。
- 在个位减去八:五减八不够,从十位借一,变成十五减八等于七
- 十位原本是九,借走一后剩八,八减二等于六
最终结果:六十七。
乘法的"前置法"
算筹乘法比加减法复杂一些,使用的是前置法(也叫"身前乘法")。这种方法将乘数前置在算式的左边,被乘数放在中间,逐步计算出部分积。
计算:23 × 45 = ?
第一步:摆出被乘数23和乘数45。
第二步:从乘数的最高位(4)开始,依次与被乘数每一位相乘。
- 4 × 23 = 92,摆放在相应位置
- 5 × 23 = 115,叠加到前一个结果上
第三步:将各个部分积叠加。
- 最终得出积:1035
前置法的优点是可以边乘边加,随时看到计算进展,便于检查和纠正错误。
除法的"立成法"
算筹除法使用的是立成法(也叫"商除法")。这种方法与今天通用的竖式除法非常相似,只是用筹棍的摆放代替了数字的书写。
计算:1045 ÷ 19 = ?
第一步:将被除数1045摆在中间,除数19摆在左边。
第二步:确定商的位数,从被除数的最高位开始试商。
- 19 × 5 = 95,最接近且不超过104
- 商的第一位是5
第三步:减去已除部分,继续下一位。
- 1045 - 95×10 = 55
- 19 × 2 = 38,最接近且不超过55
- 商的第二位是2
第四步:继续直到除尽或达到所需精度。
- 55 - 38 = 17
- 商为52,余数为17
最终结果:五十二,余十七。
开方与更高运算
算筹不仅能进行四则运算,还能进行开平方、开立方等更高次的数学运算。中国古代数学家利用算筹完成了大量精密的天文计算和几何测量,其中许多计算结果精确到小数点后多位,领先世界其他文明数百年。
更令人惊叹的是,算筹还能够进行高次方程的求解。宋代数学家秦九韶在他的著作《数书九章》中,展示了用算筹求解高达十次方程的方法。这种水平的计算能力,即使在现代计算机出现之前,也是世界上其他地区难以企及的。
算筹的优点:为什么它能独领风骚两千年
直观可视:看得见的数学
算筹最大的优点是直观性。每一个数字、每一步计算都以具体可感的形态呈现在桌面上。计算者可以一目了然地看到整个算式的全貌,随时把握计算的进程和状态。
这种直观性带来几个实际好处:
1. 易于检查:任何一步计算如果有误,可以立即发现并纠正,不像心算那样事后难以追溯。 2. 便于教学:初学者可以通过观察筹棍的增减来理解运算规则,比抽象的符号更加形象。 3. 适合演示:教师可以用算筹向学生演示计算过程,学生也可以模仿操作加深理解。
灵活可变:动态的思维工具
算筹不像书写数字那样凝固不变,它可以随时根据计算需要增删调整。如果发现某一步算错了,只需把相应的筹棍移动或增减,就能轻松修改,而不需要像在纸上写字那样涂涂改改。
这种灵活性使得算筹特别适合探索性计算。当计算者不确定应该走哪条路时,可以同时摆出几种可能的方向,比较后再决定下一步怎么走。这在解方程、试商等需要反复尝试的场合特别有用。
易于验算:算完再算一遍
由于算筹摆出的算式始终保持完整状态,计算者可以随时停下来验算前面的步骤,确认无误后再继续。这种"边算边验"的特点大大降低了出错的概率。
相比之下,用纸笔计算时,如果要验算就得把整个过程重新做一遍,既费时又容易产生同样的错误(如果理解有误的话)。算筹的随时可验特性,使得复杂计算成为可能。
标准化与可复制
一套算筹在哪里都能使用,计算方法也高度标准化。这意味着任何一个学会使用算筹的人,都能在任何地方进行同样水平的计算,也能够与使用同样方法的其他人交流和验证结果。
这种标准化还带来了一个好处:计算过程可以被记录和传播。古人用文字描述算筹的摆法,后来者可以据此复现计算过程。这使得数学知识得以积累和传承。
超越手工计算的局限
最后,算筹突破了人手和大脑的自然限制。有了算筹,人可以计算任意大小的数字,进行任意多步的运算,而不仅仅局限于"手指能数到的范围"或"脑子能记住的范围"。
一个熟练的算筹计算者,一分钟可以进行数十次加减运算,乘除运算的速度也相当惊人。历史记载显示,古代的"算学博士"(一种官方设置的数学官职)的计算能力,即使与今天使用计算器的人相比也不遑多让。
动手实践:用牙签学做算筹
现在,让我们亲自动手,体验一下古人的计算方法。
准备材料
- 牙签或火柴棒(约50根,筷子截断也可以)
- 一张深色的桌面或纸板(深色背景更容易看清牙签)
第一步:认识两种基本姿势
算筹用两种姿势表示数字:
- **竖式**:将牙签竖直放置,代表奇数位(个位、百位、万位……)
- **横式**:将牙签水平放置,代表偶数位(十位、千位、十万位……)
第二步:摆出0到9
从1到4比较简单,就是摆相应数量的牙签:
- **1**:一根牙签
- **2**:两根牙签
- **3**:三根牙签
- **4**:四根