中国古代的珠算与筹算( 二 )


筹算一出现 , 就严格遵循十进位值制记数法 。九以上的数就进一位 , 同一个数字放在百位就是几百 , 放在万位就是几万 。
算筹记数示意图 。图上表示的数是一千九百七十一 。
这种记数法 , 除所用的数字和现今通用的印度一阿拉伯数字形式不同外 , 和现在的记数法实质是一样伪 。筹算是把算筹一面摆成数字 , 一面进行计算 , 它的运算程序和现今珠算的运算程序基本相似 。记述筹算记数法和运算法则的著作有《孙子算经》(公元四世纪)、《夏侯阳算经》(公元五世纪)和《数术记遗》(公元六世纪) 。负数出现后 , 算筹分成红黑两种 , 红筹表示正数 , 黑筹表示负数 。算筹还可以表示各种代数式 , 进行各种代数运算 , 方法和现今的分离系数法相似 。我国古代在数字计算和代数学方面取得的辉煌成就 , 和筹算有密切的关系 。例如祖冲之的圆周率准确到小数第六位 , 需要计算正一万二千二百八十八边形的边长 , 把一个九位数进行二十二次开平方(加、减、乘、除步骤除外) , 如果没有十进位值制的计算方法 , 那就会困难得多了 。
古巴比仑的记数法虽然有位值制的意义 , 但是它是六十进的 , 计算比较繁琐 。古埃及的数字从一到十只有两个数字符号 , 从一百到一千万有四个数字符号 , 而且是象形的 , 例如用一个鸟表示十万 。文化比较发达的古希腊 , 由于看重几何 , 轻视计算 , 记数方法十分落后 , 用全部希腊字母表示一到一万的数字 , 字母不够的时候就在字母旁边增加符号“‘” , 如 。α表示一千 , β表示二千等 。现在世界通用的印度一阿拉伯数字和记数法是印度古代人民创造的 , 但是印度在公元三世纪以前使用的记数法是希腊式和罗马式两种 , 都不是位值制 , 真正使用十进位值制记数法出现在公元六世纪末 。由此可见 , 我国古代的十进位值制记数法和筹算 , 在世界数学史上应该占有重要的地位 。
筹算在我国古代用了大约两千年 , 在生产和科学技术以至人民生活中 , 发挥了重大的作用 。但是它的缺点也是十分明显的:首先 , 在室外拿着一大把算筹进行计算就很不方便;其次 , 计算数字的位数越多 , 所需要的面积越大 , 受环境和条件的限制;此外 , 当计算速度加快的时候 , 很容易由于算筹摆弄不正而造成错误 。随着社会的发展 , 计算技术要求越来越高 , 筹算需要改革 , 这是势在必行的 。这个改革从中唐以后的商业实用算术开始 , 经宋元出现大量的计算歌诀 , 到元末明初珠算的普遍应用 , 历时七百多年 。《新唐书》和《宋史·艺文志》记载了这个时期出现的大量著作 。由于封建统治阶级对民间数学十分轻视 , 以致这些著作的绝大部分已经失传 。从遗留下来的著作中可以看出 , 筹算的改革是从筹算的简化开始而不是从工具改革开始的 , 这个改革最后导致珠算的出现 。
珠算是由筹算演变而来的 , 这是十分清楚的 。筹算数字中 , 上面一根筹当五 , 下面一根筹当一 , 珠算盘中的上一珠也是当五 , 下一珠也是当一;由于筹算在乘、除法中出现某位数字等于十或多于十的情形(例如26532÷8 , 第一步就是“八二下加四” , 就变成) , 所以珠算盘采用上二珠下五珠的形式 。其次 , 我们可以证明 , 从杨辉、朱世杰开始到元末丁巨、何平子、贾亨止起除“起一”法外的全部现今通用的珠算歌诀 , 是为筹算而设的 。杨辉的《乘除通变本末》(公元1274年)和朱世杰的《算学启蒙》(公元1299年)已经有相当完备的歌诀 , 但是杨辉在《乘除通变本末》中说:“下算不出‘横’‘直’” , 其中“横”“直”显然是指算筹的纵横排列 , 朱世杰在《算学启蒙》中提到“知算纵横数目真” , 也是这个意思 。《丁巨算法》(公元1355年)、何平子的《详明算法》(公元1373年)、贾亨的《算法全能》(约公元1373年)也有相当完备的归除歌诀 , 但是都没有提到珠算 , 而《详明算法》还有许多筹算算草 。歌诀出现后 , 筹算原来存在的缺点就更突出了 , 歌诀的快捷和摆弄算筹的迟缓存在矛盾 。为了得心应手 , 劳动人民便创造出更加先进的计算工具——珠算盘 。