以下为转发文章…
运筹帷幄——我国古代的高超算术原创
说到算筹,想必很少有人听闻。虽然史上国外(日本、印度、巴基斯坦等)也有过这块腰椎间盘,但还是要数中国的最突出。
先感性认识一下
算筹最早出现于商周,在算盘被发明之前,堪称世界上最先进的计算工具。你可能没听说过,但「运筹帷幄」、「觥筹交错」这些朗朗上口的成语皆出于此。而这所谓先进的计算工具,竟是一根根小小的棍子(长约十几厘米)。棍子的材料多样,竹子、木头、象牙、兽骨、金属、玉器应有尽有,凡能削成棍状的东西皆可为之。当然我们现今所能看到的算筹,多是耐腐蚀材质的。
战国骨筹(图片来自http://www.cnr.cn/sxpd/jd/20170720/t20170720_523860563.shtml#3)
战国铜筹(图片来自http://bbs.chcoin.com/show-6865738.html?authorid=190510)
西汉铅筹(图片来自http://blog.sina.com.cn/s/blog_4551bbe8010105vv.html)
西汉牙筹(截图来自《如果国宝会说话 第二季》第20集)
像我们随身携带手机一样,懂数学的古人通常会随身佩戴丝布制成的算袋,里头放着一把算筹。走在路上碰到欠债不还的,一言不合就能掏出来跟他算账……
图片来自网络
传说秦始皇也经常佩带丝质的算袋。一次东游,他把算袋扔进了海里,变化成乌贼,因此乌贼也有算袋鱼之称。
到了唐朝,更有法律规定文武百官必须佩带算袋。可见在彼时,算筹不单单是一种计算工具,更是文化和身份的象征。
算筹示数
史上第一本记述算筹的专著是一千五百年前的《孙子算经》,作者不详(跟孙武孙膑没有半毛钱关系)。
算筹用红棍表示正数,黑棍表示负数,有纵横两种「布棍」模式,纵式用竖棍表示1、横棍表示5,横式反之:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
| |||||||||
横式 |
|
-1 |
-2 |
-3 |
-4 |
-5 |
-6 |
-7 |
-8 |
-9 |
|
纵式 |
| ||||||||
横式 |
|
0比较特殊,用留空表示。
对于不同的数位,纵式、横式是相间使用的,《孙子算经》如是描述:
凡算之法,先识其位。一纵十横,百立千僵,千十相望,万百相当。
个位上的数字用纵式,十位上的用横式,百位上再用纵式,千位再用横式,以此类推。这样奇怪的做法是考虑到0的存在,比如2018:
2 |
0 |
1 |
8 |
|
| ||
横式 |
纵式 |
横式 |
纵式 |
画了表格,才凸显出0的空位。但在实际使用中,尤其在书写(誊抄算法)时,空位很容易被忽略,有了纵横交错的做法,即使没有空位,2和1挨在一起,也不会把2018当成218。
当然这也存在一个问题,比如20018就有被当成218的可能。人们会在「布筹」的计算板上(counting board)划好棋盘一样的表格,或者用围棋子来表示0,以避免这个问题。在书写方面,则引入了圆圈符号——〇。即便如此,纵横交错的形式还是作为经典被始终沿用。
筹算
使用算筹的方法叫筹算,两个字颠倒一下,好比牙刷的使用叫刷牙,不得不感慨中文的博大精深。由于人在阅读时会无意识地忽略文字顺序,所以下文所提「算筹」、「筹算」还请细细分清。
筹算的能力强大,除了最基本的加减乘除,还能进行乘方和开方,纳尼!乘方?开方?!是的,你没有看错,而且远不止这些,筹算甚至能解线性方程(组)、求最大公约数和最小公倍数、解同余式组、造高阶查分表等等,其所用到的负数、小数、分数等较为抽象的数字概念,比西方早出一百年甚至好几百年。
公元480年左右,南北朝数学家祖冲之使用筹算将圆周率精确到小数点后7位(3.1415926~3.1415927之间),这一精度领先世界近千年,直到15世纪初才被打破。这一计算涉及包括开方在内的130次运算,放到今天,如果不用电子计算设备给你一沓草稿纸,恐怕也很难算准。
除了圆周率,著名的秦九韶算法、剩余定理等高超的古代数学成就,都是靠筹算得到的。
其实算筹本身仅仅提供了一种用棍子表示数字的「书写」形式,能做如此复杂的计算,得益于古人一代代智慧积累下来的算法口诀,包括沿用至今的九九乘法表。计算过程和现在的「列竖式」十分相似:
6561 ÷ 9(图片来自维基「Sunzi Suanjing」词条,请无视它为什么不是红色……)
也许你会觉得,筹算虽然强大,但小木棍的摆放好像并不方便。确实需要进行许多机械式的重复步骤,但可谓孰能生巧,厉害的筹算者有着相当可观的计算速度,沈括在《梦溪笔谈》中描述某坏男人淮南人:
运筹如飞,人眼不能逐。
不知是否有夸张的成分,但参考现在娴熟的算盘手,基本也能想象其景。
算筹的不足
筹算虽然强大,然而作为一种质朴的计算工具,终有捉襟见肘的时候。同现今计算机软硬件的相互促进一样,诸多算法为适应筹算模式而生,而算筹本身却渐渐对复杂的算法力不从心——譬如重因法、身外加减法、求一法,听都没听说过,靠一堆小棍棍已经难以应对。加之,筹算时所用算筹数量庞大,表示单个数就可能用到5根,数字越多越繁乱,三国时期魏国人管辂的《管氏地理指蒙》一书甚至以筹喻乱:
形如投算,忧愁紊乱。
而且起初的算筹长约14厘米,摆个6就要占200平方厘米,可以想象,做稍微复杂一点的运算时得放多大一块面积。即使到宋元间改良至1~3寸(3~10cm),面对大计算量的问题依然不好使。宋代马永卿《懒真子》一书就有言:
卜者出算子约百余,布地上,几长丈余。
解道数学题要铺满整个客厅,还得满地爬,不仅是脑力活,更是体力活,搞不好还容易闪着腰啊……
算筹,终被算盘取代。
苏州码子
苏州码子,也叫草码,花码、菁仔码、番仔码、商码,是我国在阿拉伯数字传来之前广泛使用的一种数字形式,是唯一一种现存的书面算筹变种,在港澳街市、旧式餐厅、中药房仍有一点碰到的小概率。
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
〡 |
〢 |
〣 |
〤 |
〥 |
〦 |
〧 |
〨 |
〩 |
你们见过吗?我是可惜没有见过。
有了这条冷知识,以后出门一定得好好留意,指不定走进哪家餐馆,看到的价目表是酱紫的:
图片来自维基「Suzhou numerals」词条
正当小伙伴们众脸懵逼之时,你一顿潇洒解读,甭提多有面子!!
头条百科了解算筹…
算筹
古代同样长短和粗细的棍子
根据史书的记载和考古材料的发现,古代的算筹实际上是一根根同样长短和粗细的小棍子,一般长为13–14cm,径粗0.2~0.3cm,多用竹子制成,也有用木头、兽骨、象牙、金属等材料制成的,大约二百七十几枚为一束,放在一个布袋里,系在腰部随身携带。
需要记数和计算的时候,就把它们取出来,放在桌上、炕上或地上都能摆弄。别看这些都是一根根不起眼的小棍子,在中国数学史上它们却是立有大功的。而它们的发明,同样经历了一个漫长的历史发展过程。
基本信息
中文名 |
算筹 |
材料 |
多用竹子制成 |
长度 |
13–14cm |
计数法
算筹
在算筹计数法中,以纵横两种排列方式来表示单位数目的,其中1-5均分别以纵横方式排列相应数目的算筹来表示,6-9则以上面的算筹再加下面相应的算筹来表示。表示多位数时,个位用纵式,十位用横式,百位用纵式,千位用横式,以此类推,遇零则置空。这种计数法遵循一百进位制。据《孙子算经》记载,算筹记数法则是:凡算之法,先识其位,一纵十横,百立千僵,千十相望,万百相当。《夏阳侯算经》说:满六以上,五在上方。六不积算,五不单张。
发明
算筹的发明就是在以上这些记数方法的历史发展中逐渐产生的。它最早出现在何时,已经不可查考了,但至迟到春秋战国;算筹的使用已经非常普遍了。前面说过,算筹是一根根同样长短和粗细的小棍子,那么怎样用这些小棍子来表示各种各样的数目呢?
摆法
算筹
那么为什么又要有纵式和横式两种不同的摆法呢?这就是因为十进位制的需要了。所谓十进位制,又称十进位值制,包含有两方面的含义。其一是"十进制",即每满十 数进一个单位,十个一进为十,十个十进为百,十个百进为千……其二是"位值制,即每个数码所表示的数值,不仅取决于这个数码本身,而且取决于它在记数中所处的位置。如同样是一个数码"2",放在个位上表示2,放在十位上就表示20,放在百位上就表示200,放在千位上就表示2000……在我国商代的文字记数系统中,就已经有了十进位值制的萌芽,到了算筹记数和运算时,就更是标准的十进位值制了。
算筹
早在两千多年前,我国古代劳动人民就发明了乘法的计算方法。不过,当时的方法与现在的不一样,用算筹来进行计算的。算筹就是用竹子或其他材料做成的一根根小棒。当时用小棒表示数的方法有横式和纵式两种(表示多位数时,个位用纵式,十位用横式,百位用纵式,千位用横式,依此类推,遇零则置空),如图1。
用算筹进行乘法计算,先摆乘数于上,再摆被乘数于下,并使上数的末位与下数的首位对齐,按从左到右的顺序用上数首位乘下数各位,把乘得的积摆在上下两数中间,然后将上数的首位去掉、下数向右移动一位,再以上数第二位乘下数各位,加入中间的乘积,并去掉上数第二位。直到上数各位用完,中间的数便是结果。下面以183×26为例具体说明一下:
1.把乘数26摆在上面,被乘数183摆在下面,被乘数的个位与乘数的十位对齐,中间留有空余,准备摆乘得的积(如图2);
2.从高位乘起,用乘数十位上的2乘被乘数183,得3660,摆在中间,积的数位与被乘数对齐(如图3,积的个位0用空位表示);
算筹
3.去掉已乘过的乘数十位上的数字2,把乘数个位6移至与被乘数的个位对齐的位置(如图4);
算筹
4.用乘数个位6乘被乘数183,所得的积与3660相加,最后得积4758(如图5)。
规则
按照中国古代的筹算规则,算筹记数的表示方法为:个位用纵式,十位用横式,百位再用纵式,千位再用横式,万位再用纵式等等(到搜狗可以查)这样从右到左,纵横相间,以此类推,就可以用算筹表示出任意大的自然数了。由于它位与位之间的纵横变换,且每一位都有固定的摆法,所以既不会混淆,也不会错位。毫无疑问,这样一种算筹记数法和现代通行的十进位制记数法是完全一致的。
十进位制
中国古代十进位制的算筹记数法,在世界数学史上是一个伟大的创造。把它与世界其他古老民族的记数法作一比较,其优越性是显而易见的。古罗马的数字系统没有位值制,只有七个基本符号,如要记稍大一点的数目就相当繁难。古美洲玛雅人虽然懂得位值制,但用的是20进位;古巴比伦人也知道位值制,但用的是60进位。20进位至少需要19个数码,60进位则需要59个数码,这就使记数和运算变得十分繁复,远不如只用9个数码便可表示任意自然数的十进位制来得简捷方便。中国古代数学之所以在计算方面取得许多卓越的成就,在一定程度上应该归功于这一符合十进位制的算筹记数法。马克思在他的《数学手稿》一书中称十进位记数法为"最妙的发明之一",当然是一点也不过分。
古代数学成就
在算筹计数法中,以纵横两种排列方式来表示单位数目的,其中1-5均分别以纵横方式排列相应数目的算筹来表示,6-9则以上面的算筹再加下面相应的算筹来表示。表示多位数时,个位用纵式,十位用横式,百位用纵式,千位用横式,以此类推,遇零则置空。这种计数法遵循十进位制。算筹的出现年代已经不可考,但据史料推测,算筹最晚出现在春秋晚期战国初年(公元前722年~公元前221年)。
两千多年前我们的祖先就懂得了这样精妙的计算,真是神奇!在这当中,算筹功不可没,它是在珠算发明以前中国独创并且是最有效的计算工具。中国古代数学的早期发达与持续发展都是受惠于算筹的。
商码计数法(中国三千年前商周时代发明的十进制算筹计数法的具体运用)
转自…青灯盦主人
旧时表示数目的符号,也叫草码,商码。此外,零还是0。
【商码字符】〡 〢 〣 〤 〥 〦 〧 〨 〩 十
【对应数字】
商码:〡 〢 〣 〤 〥 〦 〧 〨 〩 十
汉字:一 二 三 四 五 六 七 八 九 十
大写:壹 贰 叁 肆 伍 陆 柒 捌 玖 拾
阿拉伯:1 2 3 4 5 6 7 8 9 10
【书写】
1,就写一个竖;
2,两个竖:〢
3, 三个竖:〣
4,是个交叉:〤
5,写成〥,其实只是 5 字写得草和快
6,写成一点加一横,其中的一点,代表了5:〦
7,写成一点加两横:〧
8,一点加三横:〨
9,写成“久”的草体:〩
【使用举例】
古代人计数都用算盘,上面一点就像算盘上档拨下一个子,表示五,所以〦是六,〧是七,很好理解。需要说明的是,当〡 〢 〣 相遇时, 中间会变成横划. 否则“| | |”就不知道是一百一十一, 三, 廿一, 还是十二了。
例如:2134,要写成 :〢一〣〤;
32,要写成:〣二。
真正运用这些符号,还要结合古代账本竖写的特点。否则,多看少看一个数字,差别太大,通常要记作两行。
例如,标价5角9分,会写作:〥〩
▲
这个▲代表“角”,它的尖头,一般放在〥和〩中间的下方。
又比如:标价5元8角,会写作:〥〨
●
这个●代表“元(圆)”,它一般放在〥和〨中间的下方。
再如,标价3908元,会写作:〣〩0〨
仟
一说仟字要放在〣的下面,可能是各地习惯也有所不同。但要在第一位数字右下方(或下方)标注 。
摘自 陈先枢先生。
如若转载,请注明出处:https://www.xkfy8.com/archives/8951