宋国锋

原创用笔学珠算

筹算是中国古代使用算筹进行计算的方法。它使用中国商代发明的十进位制计数,可以很方便地进行四则运算以及乘方,开方等较复杂运算,并可以对零、负数和分数作出表示与计算。算筹数系是世界上唯一只用一个符号的方向和位置的组合,表示任何十进位数字或分数的系统。 单位数字:将筹棍竖排一根棍表示1,两根棍表示2,5根棍表示5。但从6至9数字的表示,不是并排6至9根筹棍,而是采用同位五进制,即用一根筹棍代表数码5,横放在筹数1至4的上方。为了不使数字和数位混淆,筹算中算筹的摆法有纵横两种形式:上排是筹算中1至9的竖码,下排是相应数字的横码。

竖式:

如何使三条线的数字都等于12(一二三加点线记数法可以完成0-9这10个数字之间互相转换)(1)

横式:

如何使三条线的数字都等于12(一二三加点线记数法可以完成0-9这10个数字之间互相转换)(2)

算筹采用的是十进位制的记数方法,同一个数字在不同的数位上,数值也就相应不同,每进一位数值乘10,并且在算筹盘上,以空位表示0大于9的数字,则用十进制表示,在个位数的位置左边,放置一个筹数,代表这个筹数的十倍,在十位数值左的位置,代表百位数,如此类推。如图所示数二百三十一(231)的表示法,在个位放置一根筹码,表示1,在十位放置筹数3,代表30,在百位放置筹数2,代表200,总数即二百三十一(231)。

如果筹码2,3,1并排排列,有可能被误读为51或24;为了避免邻位误读,先民发明了每隔一位交替使用竖码横码,即个位竖码,十位用横码,百位用竖码,千位用横码,如此类推,就可以完全避免误读了。孙子算经记载:“凡算之法,先识其位,一纵十横,百立千僵,千十相望,百万相当”。此外又说明用空位表示零。中国古代算筹记数,采用十进位制,个位用纵式,十位用横式,百位再用纵式……这样纵横交替摆放,就可以摆出任意大的数字来了。

明代数学家程大位在《算法统宗》介绍了一种珠算式笔算法——一笔锦算法。一笔锦是一种笔算方法,实际是一种珠算式笔算方法,就是把算盘上运算记录下来的结果。方法是用暗码数字先将被加数写出,然后依珠算方法运算,并将结果记录下来。记数法使用的是一种称作是“暗”码的数码。

暗码,又称暗子码数或马子暗数(徐心鲁《盘珠算法》(1573)),俗称码子字,是在中国古代算筹符号的基础上发展起来的一套数码符号,因此也叫中国数码符号。

暗码式

如何使三条线的数字都等于12(一二三加点线记数法可以完成0-9这10个数字之间互相转换)(3)

“右大圈九字配合相生而成法也。大圈之下小圈乃暗子码数”,“唯一、二、三不拘横直,但位数配合不乱为式"。

此处给出的暗码为:

如何使三条线的数字都等于12(一二三加点线记数法可以完成0-9这10个数字之间互相转换)(4)

注意,在原文在九后还有一个表示零的空圈。

暗码是长期演变发展起来的,它始于中国古代的筹算。

筹码就是对筹式的记录,以后为了书写方便而逐渐演变成最终的固定形式。随着珠算的盛行,筹算减少,纵横式的区别越来越小以至于不加以区分了。为了书写方便,将逐渐演化成了上面介绍的书写形式。

关于暗码的使用,“唯一、二、三不拘横直,但位数配合不乱为式”,意思是说用暗码表示数时对于数字不路边用横式还是竖式均可,只要相互配合使用不乱即可,四以后就没有横竖之分了。

筹算在计算时,记录数码基本遵循“个位竖码,十位用横码,百位用竖码,千位用横码,如此类推”,其目的就是避免误读数码。

在我国,第一部自著的笔算数学是明末孙元化( -1632)写的「太西算要」[18],是受西法影响的中国式笔算,以中国汉文数字代替西方的印度-阿拉伯数码.他比较了中国的珠算与西方的笔算之便与不便,结果是"算愈难而西法愈显".接著孙元化写道:其用法,以所有之数从大至小,从左向右横书,书犹珠也.其末位必为零数.如三千六百九十三,则横书三六九三矣.若有空位,必作一0以补之,如三千六百九十,则零位补一0矣.又或三千六百,则零位,十位皆补一0矣.又或三千零九十三,则百位补一0矣.是零,十,百,千以上者,实数也。按照孙元化记数的观点和方法,三千二百一十三即可写成3213,1230即一千二百三十就可以写成“一二三0”, “三千二百零一”就可以写成三二0一,3201即二千三百零一就可以写成“二三0一”。

综合暗码式记数方法和孙元化的观点,以及现代人的书写习惯(从左至右横书),本着即书写简便,又有能够计算,“一、二、三”均横书,而用“|”表示五,零用“0”表示,九用“9”表示,可以将暗码式变为:

如何使三条线的数字都等于12(一二三加点线记数法可以完成0-9这10个数字之间互相转换)(5)

如果零用空位表示,5用横放的5条横线表示,用实物算筹来代替前述暗码,实际就是横式算筹记数法:

如何使三条线的数字都等于12(一二三加点线记数法可以完成0-9这10个数字之间互相转换)(6)

综上所述,只用算筹横式记数法,完全可以做筹算,不会出现误读现象。用横式算筹记数法做筹算,符合现代人的识数和认知习惯。

如何使三条线的数字都等于12(一二三加点线记数法可以完成0-9这10个数字之间互相转换)(7)

本文为原创,未经作者许可,禁止转载。

,