数学文化:我国古代珠算、筹算的历史( 二 )


古巴比仑的记数法虽然有位值制的意义,但是它是六十进的,计算比较繁琐 。古埃及的数字从一到十只有两个数字符号,从一百到一千万有四个数字符号,而且是象形的,例如用一个鸟表示十万 。文化比较发达的古希腊,由于看重几何,轻视计算,记数方法十分落后,用全部希腊字母表示一到一万的数字,字母不够的时候就在字母旁边增加符号,如 。表示一千,表示二千等 。现在世界通用的印度一阿拉伯数字和记数法是印度古代人民创造的,但是印度在公元三世纪以前使用的记数法是希腊式和罗马式两种,都不是位值制,真正使用十进位值制记数法出现在公元六世纪末 。由此可见,我国古代的十进位值制记数法和筹算,在世界数学史上应该占有重要的地位 。
筹算在我国古代用了大约两千年,在生产和科学技术以至人民生活中,发挥了重大的作用 。但是它的缺点也是十分明显的:首先,在室外拿着一大把算筹进行计算就很不方便;其次,计算数字的位数越多,所需要的面积越大,受环境和条件的限制;此外,当计算速度加快的时候,很容易由于算筹摆弄不正而造成错误 。随着社会的发展,计算技术要求越来越高,筹算需要改革,这是势在必行的 。这个改革从中唐以后的商业实用算术开始,经宋元出现大量的计算歌诀,到元末明初珠算的普遍应用,历时七百多年 。《新唐书》和《宋史艺文志》记载了这个时期出现的大量著作 。由于封建统治阶级对民间数学十分轻视,以致这些著作的绝大部分已经失传 。从遗留下来的著作中可以看出,筹算的改革是从筹算的简化开始而不是从工具改革开始的,这个改革最后导致珠算的出现 。
珠算是由筹算演变而来的,这是十分清楚的 。筹算数字中,上面一根筹当五,下面一根筹当一,珠算盘中的上一珠也是当五,下一珠也是当一;由于筹算在乘、除法中出现某位数字等于十或多于十的情形(例如265328,第一步就是八二下加四,就变成),所以珠算盘采用上二珠下五珠的形式 。其次,我们可以证明,从杨辉、朱世杰开始到元末丁巨、何平子、贾亨止起除起一法外的全部现今通用的珠算歌诀,是为筹算而设的 。杨辉的《乘除通变本末》(公元1274年)和朱世杰的《算学启蒙》(公元1299年)已经有相当完备的歌诀,但是杨辉在《乘除通变本末》中说:下算不出 横直,其中横直显然是指算筹的纵横排列,朱世杰在《算学启蒙》中提到知算纵横数目真,也是这个意思 。《丁巨算法》(公元1355 年)、何平子的《详明算法》(公元1373年)、贾亨的《算法全能》(约公元1373年)也有相当完备的归除歌诀,但是都没有提到珠算,而《详明算法》还有许多筹算算草 。歌诀出现后,筹算原来存在的缺点就更突出了,歌诀的快捷和摆弄算筹的迟缓存在矛盾 。为了得心应手,劳动人民便创造出更加先进的计算工具 珠算盘 。
现存文献中最早提到珠算盘的是明初的《对相四言》 。明代中期公元十五世纪中叶《鲁班木经》中有制造珠算盘的规格:算盘式:一尺二寸长,四寸二分大 。框六分厚,九分大,线上二子,一一寸一分;线下五子,三寸一分 。长短大小,看子而做 。把上二子和下五子隔开的不是木制的横梁,而是一条线 。比较详细地说明珠算用法的现存著作有徐心鲁的《盘珠算法》(公元1573年)、柯尚_迁的《数学通轨》(公元 1578年)、朱载堉(15361611)的《算学新说》(公元1584年)、程大位的《直指算法统宗》(公元1592年)等,以程大位的著作流传最广 。
值得指出的是,在元代中叶和元末的文学、戏剧作品中有提到珠算的 。例如元世祖至元十六年(公元1279 年)刘因在他的《静修先生文集》中有一首关于算盘的五言绝诗;陶宗仪在他的《辍耕录》中把婢仆贬作算盘珠,要拨才动;《元曲选》庞居上误放来生债提到 去那算盘里拨了我的岁数,等等 。文学、戏剧中用算盘珠作比喻,说明珠算盘已经比较流行,也说明它是比较时新的东西 。因此可以认为,珠算出现在元代中叶,元末明初已经普遍应用了 。
有的外国学者认为我国的珠算出现在汉代,他们的根据是汉徐岳著、北周甄蛮注的《数术记遗》已经明确提到珠算 。我国数学家、数学史家钱宝琮(18921974)曾经考证过,《数术记遗》是甄鸾依托伪造而自己注释的书 。在北周时,乘、除运算都在上、中、下三层进行,又没有简化乘、除法的歌诀,因此甄鸾注释的珠算,充其量不过是一种记数工具或者只能作加减法的简单算盘,和后来出现的珠算是完全不同的 。