饭饭TXT > 军事历史 > 《战国秦汉算术材料的跨学科研究(出版书)》作者:衣抚生【完结】 > 战国秦汉算术材料的跨学科研究.txt

第一节 《孙子算经》成书年代再考察

作者:衣抚生 当前章节:14862 字 更新时间:2026-6-16 02:03

——基于与《数》《算数书》《九章算术》和其他出土材料的对比研究

一、学术史回顾及研究思路

《孙子算经》是古代的《算经十书》之一,在我国数学史上占据重要地位。其作者、年代均不详。学者对此有过不少讨论。清儒朱彝尊认为其作者是孙武,阮元认为其成书于周代。由于朱、阮二人的证据较为贫乏,这里不展开论述。四库馆臣有较为细致的考证,指出《孙子算经》为北周甄鸾旧注,唐代李淳风新注,则其成书年代当不晚于甄鸾。甄鸾的生卒年难以准确定位,不过甄鸾编制的《天和历》曾于公元560 年颁布实行,可以作为大致参照。

钱宝琮先生在1929年指出,《张丘建算经》自言其“荡杯”问题是在《孙子算经》的基础上进行的拓展研究。“据此可知《孙子算经》原著时代,当在《张丘建算经》之前。”张丘建的生卒年代难以确知。钱先生通过将《张丘建算经》和《魏书•食货志》进行对比,发现二者记载的租税制度相合,因而“断定《张丘建算经》的编写年代是在466年到485年之间”①。钱先生后来在《算经十书》中进一步说:“我们依据书中有历史意义的点滴资料,认为《孙子算经》的原著时代是在公元 400年前后。”② 吴文俊先生主编的《中国数学史大系》第四卷《西晋至五代》采纳了钱先生的意见,将《孙子算经》定为“南北朝传世算书”③。

总的来说,前辈学者的研究思路,是通过查找《孙子算经》中能够反映时代信息的零星字句,来断定其成书年代。笔者认为这种研究存在问题:第一,最严重的问题是,前辈学者所依据的“有历史意义的点滴资料”,恰恰是很不可靠、很容易在流传的过程中被后人修改的内容。我们都知道,古籍的流传情况非常复杂,经常发生后人修改前人著作的情况,比如,《史记》中有司马迁去世后的事情。算术类文献的这种情况也很普遍——算术类文献在工程计算、赋税征收等方面有强烈的实用性,往往被作为相关官吏的参考手册,这就是《算数书》出土于底层官吏之墓的原因。那些时代感较强的信息,比如某一时期的度量衡信息、赋税信息等,一旦时代发生了变化,也需要进行相应的修改。因此根据时代感较强的“有历史意义的点滴资料”,来判断算术类文献的成书年代,恐怕不是好方法。第二,这种方法的证据是零碎的,反映的是局部信息,未必能代表整体情况。因此,笔者试图采取某些新的研究方法,并试图将这些方法当成研究算术类文献成书年代的一般性方法。

笔者尝试采取整体的、全面的研究方法,来重新研究《孙子算经》的成书年代。核心观点有二:第一,算术类文献的算题由问题描述、答案和计算方法三部分组成,以往研究关注的是问题描述,但它们很容易被人根据时代需求而进行修改,而且这种研究容易陷人局部和细节。相

————————

① 钱宝琮.孙子算经考[M]//李俨,钱宝琮.李俨钱宝琮科学史全集(卷九).沈阳:辽宁教育出版社,1998:95-96.

② 钱宝琮.算经十书[M].北京:中华书局,1963:275.

③ 吴文俊.中国数学史大系[M].北京:北京师范大学出版社,1999:40.

比之下,计算方法改起来比较麻烦,具有内容相对稳定、不容易被修改、也就更可能保留了原貌的优点,而且不同时期有不同的计算方法和计算水平,也就是说,计算方法也可以反映时代信息。因此,本研究重点转向计算方法的研究。对全部的计算方法进行研究,也就是对全书的整体研究。第二,如前所述,问题描述部分容易被修改,这些修改可以反映某道算题的最后修改时间,而不一定能反映著作主体的成书年代那些隐蔽的、不容易被修改的、又含有时代信息的问题描述部分,才是判断成书年代的好材料。

二、通过计算方法看《孙子算经》的成书年代

(一)分数计算

《孙子算经》的算法主要是约分、分数加减法、分数的平均数计算、整数四则运算等,我们将这些算法和《数》《算数书》《九章算术》进行对比,来获得对于《孙子算经》成书年代的新认识。

1.约分

(1)《孙子算经》有一道约分算题,其内容是:

今有一十八分之一十二。问约之得几何?答曰:三分之二。术曰:置十八分在下,一十二分在上。副置二位。以少减多,等数得六。为法,约之,即得。①

《孙子算经》采用的约分术,被称为更相减损法。“以少减多,等数得六”这句话比较难理解,它并不是说18-12=6,而是不断地让分子、分母相减,将结果赋予两数之中的大者,这样就可以得到新的分子

————————

① 郭书春,刘钝.算经十书孙子算经M.沈阳:辽宁教育出版社,1998:9.

或分母,直至分子、分母相等为止。这个等数6就是最大公约数。可以说,这句话描述得非常简略,很容易产生歧义。

(2)此类算题在《算数书》《九章算术》等算术文献中,有专门名称—— “约分术”。《算数书》的约分术是:

约分 约分术曰:以子除母,母亦除子,子母数交等者,即约之矣。

有曰,约分术曰:可半,半之;可令若干一,若干一。

其一术曰:以分子除母,少以母除子,子母等以为法,子母各如法而成一。

不足除者可半,半母亦半子。①

从表面上看,《算数书》提供了4种方法(每段都是一种单独的解决方法),但第1种和第3种都是更相减损法,只是文字表述略有差异,第4种是第2种的前半部分,实际上只有两种方法。这种混乱和重复说明抄写者并没有认真研究过这些算法,只是把它们当成可以套用的公式,需要的时候直接套用就行了。也就是说,约分有两种方法。一种是直观法,查看两个数是否有简单的公约数,比如2。另一种是更相减损法。

(3)《九章算术》的约分术是:

约分 术曰:可半者半之;不可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之。②

——————————

① 彭浩.张家山汉简《算数书》注释.北京:科学出版社,2001:43.

② 郭书春.九章算术新校[M].合肥:中国科学技术大学出版社,2014:13.

《九章算术》的约分首先是看能否同时除以2,如果不能,就采用更相减损法,来获得最大公约数。其算法和《算数书》几乎完全相同需要注意的是,《九章算术》的描述更加准确、简要,而不是像《算数书》那样,有太多的重复。

(4)三本书约分方法的比较。

通过对比《孙子算经》和《算数书》《九章算术》,我们可以发现《孙子算经》有比较古朴的特点,表现在:

第一,没有算题名称。名称是对某一类算题的抽象总结,是较高层次的东西。《孙子算经》缺乏算题名称,说明了它的简单、原始。《算数书》《九章算术》均有算题名称—— “约分术”。

第二,计算方法只有更相减损法一种,而且描述非常简略,尤其是“以少减多,等数得六”这句话,很容易让人产生误解。这说明《孙子算经》对更相减损法的总结还不到家,需要继续完善。

第三、《算数书》和《九章算术》都抽象出一般性的计算方法,对计算方法的描述,已经摆脱了具体的算题和数字。《孙子算经》没有抽象出一般性的计算方法。

通过上述分析,我们可以发现《孙子算经》计算方法的数量更少、描述更不准确,描述方式也较为原始、古朴,没有提炼出一般性的方法。因此,《孙子算经》的来源可能比《算数书》和《九章算术》更早。

2.分数加法

(1)《孙子算经》有一道分数加法算题,内容是:

今有三分之一,五分之二,问合之得几何?答曰:一十五分之十一。术曰:置三分、五分在右方,之一、之二在左方。母互乘子,五分之二得六,三分之一得五,并之得一十一,为实。右方二母相乘,得一十五,为法。不满法,以法命之,即得。①

分数相加,第一步是要进行通分,让两个分数的分母相同,再将通分后的分子加起来。最后再考虑是否要化成带整数的分数形式。

(2)此类算题在《数》《算数书》《九章算术》等数学文献中,有专门名称——— “合分术”。《数》的合分术是:

合分术曰:母乘母为法,子互乘□为实,实如法得一,不盈法,以法命之。②

文中的“□”,肖灿先生认为应该是“母”字③。这个推论是正确的。《数》的算法和《孙子算经》相同,区别是:《数》有了描述这一类问题的算法名称“合分术”;《数》已经摆脱了具体算题的束缚,抽象出一般性的方法。

(3)《算数书》的分数加法是:

合分 合分术曰:母相类,子相从。母不相类,可倍,倍;可三,三;可四,四;可五,五;可六,六;子亦辄倍,倍及三、四、五之如母。

母相类者,子相从。其不相类者,母相乘为法,母互乘子,并以为实,如法成一。

又曰:母乘母为法,子羡乘母为实,实如法而一。

其一曰:可十,十;可九,九;可八,八;可七,七;可

————————

① 郭书春,刘钝.算经十书孙子算经M.沈阳:辽宁教育出版社,1998:9.

② 朱汉民,陈松长.岳麓书院藏秦简(贰)[M].上海:上海辞书出版社,2011:72.

③ 朱汉民,陈松长.岳麓书院藏秦简(贰)[M].上海:上海辞书出版社,2011:72.

六,六;可五,五;可四,四;可三,三;可倍,倍。母相类止。母相类,子相从。①

《算数书》提供了四种方法(每种方法都用单独的一段表示)。第3种方法和《孙子算经》《数》完全一样。“又曰”两个字,说明《算数书》摘抄了别的著作。第2种方法的后半部分和第3种方法几乎完全相同。除此之外,《算数书》还多了两种情况:两个分数的分母之间,是2、3、4、5、6、7、8、9、10等简单倍数的情况;两个分数的分母相同的情况。因此,《算数书》的论证更加全面一些。问题在于,《算数书》的算法存在大量重复:方法1和方法4几乎完全相同,方法3是方法2的主体部分。也就是说,《算数书》其实只有两类方法。这些重复再次证明,作者没有好好检查过这些计算方法,只是进行简单的摘抄。

(4)《九章算术》的分数加法是:

合分术曰:母互乘子,并以为实,母相乘为法,实如法而一。不满法者,以法命之。其母同者,直相从之。②

《九章算术》的分数加法,主要是两种方法:一种和《孙子算经》的描述相同,另一种是两个加数的分母相同的情况。和《算数书》相比,《九章算术》虽然少了一种简单情况的描述,但是描写更加严谨,没有重复。

(5)四本书分数加法的比较。

合分术有三种方法:第一,分数的分母相同,让分子直接相加。第

————————

① 彭浩.张家山汉简《算数书》注释 [M].北京:科学出版社,2001:45-46.

② 郭书春.九章算术新校〔M〕.合肥:中国科学技术大学出版社,2014:13-14.

二,分母不相同,但是分母存在2、3、4、5、6等简单倍数的情况,将分母化解为同分母后,再相加。第三,分母乘以分母;分子乘以所有的不属于自己的分母,并且相加。

通过比较四本书的算法,我们可以发现《孙子算经》更加古朴——没有算题名,没有抽象的一般算法,只有一道具体算题的方法。这说明《孙子算经》的来源应该比《数》《算数书》和《九章算术》更早。就四者所呈现出来的样子,我们可以发现一条较为清晰的由简单到复杂的发展线索:《孙子算经》(没有算题名;没有抽象的算法描述)——《数》(有算题名;有抽象的算法描述;只有一种计算方法)——《算数书》(有算题名;有抽象的算法描述;计算方法全面,但只是简单罗列,有重复)—《九章算术》(有算题名;有抽象的算法描述;计算方法全面;算法经过整合,没有重复)。

3.分数减法

(1)《孙子算经》有一道分数减法题,内容如下:

今有九分之八,减其五分之一。问余几何?答曰:四十五分之三十一。术曰:置九分、五分在右方,之八、之一在左方。母互乘子,五分之一得九,九分之八得四十。以少减多,余三十一,为实。母相乘得四十五,为法。不满法,以法命之,即得。①

分数相减,第一步是要进行通分,让两个分数的分母相同,然后再将分子相减。最后再考虑是否要化成带整数的分数形式。

(2)《算数书》的分数减法没有单独的名称,而是放在“出金”算题中。其内容为:

————————

① 郭书春,刘钝.算经十书孙子算经M.沈阳:辽宁教育出版社,1998:9.

出金 有金三铢九分铢五,今欲出其七分铢六,问余金几何?曰:余金二铢六十三分铢卅四。其术曰:母相乘也为法,子互乘母各自为实,以出除焉,余即余也。……

今有金七分铢之三,益之几何而为九分七?曰:益之六十三分铢廿二。术曰:母相乘为法,子互乘母各自为实。以少除多,余即益也。①

《算数书》中提供了两种计算方法,仔细辨别的话,会发现其实是同一种方法。这说明《算数书》是摘抄的,摘抄时没有进行细致区分。值得注意的是,两种摘抄都以“出金”为名,来讲解分数减法。这说明“出金”应为当时的分数减法的通用名称。原因大概是“出金”类算题的主要算法就是分数减法,而且很常见。

(3)此类算题在《九章算术》中有专门名称—— “减分术”,其内容如下:

减分术曰:母互乘子,以少减多,余为实,母相乘为法,实如法而一。②

我们可以看出,《九章算术》和《算数书》《孙子算经》的计算方法完全一致,差别是两点:

第一,《孙子算经》的计算方法,是通过算题的形式表现出来的,因而显得具体、原始,不够抽象,不能成为摆脱具体算题而单独存在的通用算法。

——————————

① 彭浩.张家山汉简《算数书》注释 [M].北京:科学出版社,2001:49.

② 郭书春.九章算术新校[M].合肥:中国科学技术大学出版社,2014:14.

第二,《孙子算经》没有算题名,因而无法作为分数减法这一类算题的总称。《算数书》出现了算题名,但该名称以现实生活中的实际应用“出金”为名,尚未抽取出本质内容。到了《九章算术》,算题名被进一步修正为“减分术”。这个修正无疑是非常准确的。这条线索反映了古人对分数减法认识的逐渐深入。

4.分数的“增减分”运算

“增减分”这一名词取自《算数书》,意思是分数值的增大或缩小。(1)《孙子算经》有一道“增减分”算题,内容是:

十分减一者,以二乘,二十除。减二者,以四乘,二十除。减三者,以六乘,二十除。减四者,以八乘,二十除。减五者,以十乘,二十除。减六者,以十二乘,二十除。减七者,以十四乘,二十除。减八者,以十六乘,二十除。减九者,以十八乘,二十除。

九分减一者,以二乘,十八除。八分减一者,以二乘,十六除。七分减一者,以二乘,十四除。六分减一者,以二乘,十二除。五分减一者,以二乘,十除。①

需要注意的是,这里的计算方法不是最简形式,而是最简形式的分子、分母都乘以2,这么一来,就将简单的计算搞复杂了。

(2)《数》《九章算术》都没有专门的“增减分”算法。这是因为,“增减分”是分数乘除法的一种较为简单的例子,不需要单独列出。《算数书》跟“增减分”相关的算题有两道,分别是:

增减分 增分者,增其子;减分者,增其母。

————————

① 郭书春,刘钝.算经十书孙子算经M.沈阳:辽宁教育出版社,1998:3.

分当半者 诸分之当半者,倍其母;当少半者,三其母;当四分者,四其母;当五分者,五其母;当十、百分者,辄十、百其母,如欲所分。①

我们可以看出,《算数书》的计算比《孙子算经》简便很多。比如,如果要算一个数的十分之一,只需要“十……其母”即可,即将该数除以10,而不必像《孙子算经》那样,先乘以2,再除以20。如果要算一个数的五分之一,只需要“五其母”,即将该数除以5,而不必像《孙子算经》那样,先乘以2,再除以10。也就是说,《算数书》用的是最简单形式,计算方法比《孙子算经》好很多。而且,我们很轻易通过《算数书》的记载,给出了这类问题的一般解决形式:如果要算一个数的M分之一,只需要将M作为分母就可以了;如果要算一个数的M分之N,可以先求得M分之一,再将分子乘以N就可以了。

5.本部分小结

除了上述分析的《孙子算经》已有的几种分数运算,我们还想讨论一下《孙子算经》所没有的那些分数运算。《孙子算经》有关分数的运算只出现过分数加法、分数减法和“增减分”运算三种情况,既没有出现分数乘除法,也没有出现整数和分数之间的乘除法。与之相反,《数》《算数书》《九章算术》中都有为数不少的分数乘除法运算,就连其中的分数加减法的难度也都远超《孙子算经》。

通过有关分数计算的分析,我们可以得出如下结论:

(1)《孙子算经》中的分数计算仅涉及分数加减法运算,不涉及乘除法运算。《数》《算数书》《九章算术》中都有不少的分数乘除法运算。这显示《孙子算经》的分数运算的水平,要比《数》《算数书》《九章算术》差很多。

————————

① 彭浩.张家山汉简《算数书》注释 [M].北京:科学出版社,2001:42.

(2)《孙子算经》的算题没有名称,《数》《算数书》《九章算术》则均有算题名称,用于总结某一类算题。

(3)《孙子算经》的算题解法只有一种,而且这一种算法尚没有脱离具体的算题,必须借助算题来进行说明。《数》《算数书》《九章算术》则均对算法进行过一般性的总结,已经可以摆脱具体的算题而存在。这表明,《数》《算数书》和《九章算术》具有更高的抽象程度。

(4)《孙子算经》的算法描述,存在着模糊不清的地方,而且多有不贴切之处,约分术尤其如此。《数》《算数书》《九章算术》的算法则更为准确。

我们知道,在没有断层的情况下,科学知识的发展规律,一般都是由简单到复杂、由模糊到准确、由具体到抽象。相比之下,《孙子算经》是较为简单的、模糊的、具体的,《数》《算数书》《九章算术》是相对复杂的、准确的、抽象的。这说明《孙子算经》的成书年代,应该早于《数》《算数书》和《九章算术》。

(二)《数》《算数书》《九章算术》需要的基础知识

我们知道,《数》《算数书》《九章算术》不是从零基础开始写的,而是假定读者具有一定的数学基础。这些基础包括:

第一,各种度量衡的换算比例。《数》《算数书》《九章算术》中涉及大量的度量衡运算,然而它们提供的度量衡的换算比例信息却很少,只是《数》中提供了较多的重量单位的换算比例。它们认为读者已经知晓这些单位之间的换算比例。《孙子算经》中恰恰有比较完备的度量衡换算比例,可以用作《数》《算数书》《九章算术》的基础。①

第二,九九乘法运算。《数》《算数书》《九章算术》并无九九乘法,原因是它们默认读者已经会了。九九乘法和整数的四则运算规则是孩童时期学习的东西,过于基础,不需要讲解。它们所不讲的基础知

————————

① 郭书春,刘钝.算经十书孙子算经M.沈阳:辽宁教育出版社,1998:1.

识——九九乘法(《数》为了教会读者在九九的基础上,掌握分数乘法,涉及7条九九),恰恰在《孙子算经》中出现了:“九九八十一……八九七十二……一一如一。”①

第三,算筹的运算方法。算筹是当时最主要、最常见的计算工具,也是学习数学的基本工具之一。《算数书》和《九章算术》的运算,显然是以算筹为基础的。《算数书》使用算筹,最明显的例子是“铜耗”算题:

铜耗铸铜一石耗七斤八两。今有铜一斤八两八铢,问耗几何。得曰:一两十一铢百卅四分朱九十一。术曰:置一石铼数为法,亦置七斤八两者铢数,以一斤八两八铢者铢数乘之,如法一铢。②

依照原文,计算过程应该是: 铢= 铢=36 铢。然而,《算数书》的作者在计算的时候,却将“1681920”误写为“1641920”,导致出现了错误的结果。郭世荣先生指出,这是作者将算筹摆错了的结果——4的算筹表示形式是“││││”,8 的算筹表示形式是“ ”,只需要将一根算筹摆错,就会导致这一错误结果。③郭先生的考证无疑是非常正确的。

《九章算术》的内容比《算数书》更多,算法更复杂,因而也是需要用到算筹的。我们举一个简单的例子:

——————————

① 郭书春,刘钝,算经十书•孙子算经 [M].沈阳:辽宁教育出版社,1998:3-5

② 彭浩.张家山汉简《算数书》注释[M].北京:科学出版社,2001:62.

③ 郭世荣.《算数书》勘误[J].内蒙古师大学报(自然科学汉文版),2001(3):276-285.

开方 术曰:置积为实。借一算,步之,超一等。议所得,以一乘所借一算为法,而以除。除已,倍法为定法。其复除,折法而下。复置借算,步之如初。以复议一乘之,所得副以加定法,以除。以所得副从定法。复除,折下如前。若开之不尽者,为不可开,当以面命之。若实有分者,通分内子为定实,乃开之。讫,开其母,报除。若母不可开者,又以母乘定实,乃开之。讫,令如母而一。①

我们不对该算法进行详细解释,只是提醒读者注意文中出现的“借一算”“借算”等词语。“借一算”“借算”的意思是借一根算筹,用来定位。这就是《九章算术》的运算用到算筹的明确证据。

《算数书》和《九章算术》都用到算筹,却没有介绍算筹的运算知识,显然是因为算筹的运用是比较基础的知识,无须赘述。《孙子算经》里记载了用算筹进行整数乘法和除法的方法。②

我们想强调的是:第一,这些知识在秦汉之际的《算数书》的成书时代,肯定都已经具备了。要不然就不会有《算数书》的出现,《算数书》也不会是我们今天所看到的样子。第二,这些知识和《孙子算经》的记载相一致。这就说明:这些知识被保存在《孙子算经》或者是跟《孙子算经》极为类似的书中(可称为《孙子算经》的前身或早期版本)。因此,我们可以知道,《孙子算经》的主体部分来源一定很早,应当不晚于《数》《算数书》所在的秦汉之际。

————————

① 郭书春.九章算术新校[M].合肥:中国科学技术大学出版社,2014:125-126.

② 郭书春,刘钝.算经十书孙子算经M.沈阳:辽宁教育出版社,1998:2.

三、某些隐蔽、不易修改、又含有时代信息的算题

(一)从“黄金方寸重一斤”看《孙子算经》的成书经过

《孙子算经•卷上》有一道题目,讲的是相同体积的不同物品的重量问题。其内容如下:

黄金方寸重一斤。白银方寸重一十四两。玉方寸重一十两。铜方寸重七两半。铅方寸重九两半。铁方寸重七两。石方寸重三两。①

我国古代度量衡的演变情况非常复杂。本算题由于缺乏必要的历史信息,导致我们不知道应该用什么时期的度量衡来进行推演。幸运的是,我们都知道,两个体积相同的物品,重量之比等于密度之比。因此,我们可以用文中的黄金、白银、铜、铅、铁等物质的密度之比,进行合理的推测。

黄金的密度为19.26g/cm³,白银的密度为10.5g/cm³,因此,体积都为“方寸”的黄金和白银,重量之比应该等于19.26g/cm³÷10.5g/cm³≈1.83。按照文中的单位,体积都为“方寸”的黄金和白银,重量之比应该等于“一斤”:“一十四两”。也就是说,“一斤”:“一十四两”≈1.83。那么,这里的“一斤”是多少呢?是不是古代常用的“十六两为一斤”?答案是否定的,原因是16÷14~1.14,跟1.83相差太大。显然这里的“一斤”,应该有别的解释。

先秦、秦时的黄金单位,除了“斤”,还有“镒”(又写为“益”“溢”)。《史记•平准书》记载,汉代建立以后,曾经有过货币改革:

————————

① 郭书春,刘钝.算经十书孙子算经M.沈阳:辽宁教育出版社,1998:2 .

“为秦钱重难用,更令民铸钱,一黄金一斤”。臣瓒说,黄金改革的内容是“秦以一镒为一金,汉以一斤为一金”。① 也就是说,秦代的黄金重量以“镒”为单位,从汉代开始,黄金不再以“镒”为单位,而以“斤”为单位。很显然,这里解释不通的“斤”字,应该是由“镒”字更改而来。“镒”的重量记载有二十两、二十四两两种说法。将它们代人本算题,可得:20÷14 ≈1.43,24÷14 ≈1.71。“二十两”的说法跟本算题的误差较大,“二十四两”和本算题较为吻合。因此,本算题的一“斤”黄金应为“二十四两”。我们可以通过这一信息,推断本算题的成书时代和地域。

丘光明先生认为秦代、楚国、赵国的一斤相当于十六两,燕国的一斤相当于十两,卫国的一“镒”相当于二十四两。② 黄锡全先生通过考察楚地的出土文献、出土砝码,认为楚国的一“镒”为十六两,和“斤”相同③。石俊志先生通过出土文物证明,战国时期不同地域的一“镒”黄金的重量是不一样的——楚国相当于十六两,魏国相当于二十两,齐国和卫国相当于二十四两。④ 李零先生通过分析山东临淄出土的商王墓地的耳杯,得出结论:“齐国的‘镒’是二十四两”。⑤胡传耸先生通过分析出土文物中的“镒”,认为秦国少用“镒”,而多用“斤”:楚国的一“镒”相当于十六两;三晋和卫国一“镒”相当于二十两;齐国的一“镒”相当于二十四两。⑥ 以上诸位先生通过考古证据,来证明战国时期的“镒”的重量,结论有很强的说服力。学者们对卫国的“镒”和两的关系,有争议:丘光明先生、石俊志先生认为,卫国的一

——————————

① 司马迁.史记[M].北京:中华书局,1982:1417-1418.

② 丘光明.试论战国衡制[J].考古,1982(5):516-527.

③ 黄锡全.试说楚国黄金货币称量单位“半镒”[J].江汉考古,2000(1);56-62.

④ 石俊志.试论战国秦汉黄金衡制的演变[J].中国钱币,2007(4):19-25.

⑤ 李零.论西辛战国墓裂瓣纹银豆——兼谈我国出土的类似器物[J].文物,2014(9):58-71.

⑥ 胡传耸.关于重量单位“镒”的几点认识[J].北方文物,2017(2):38-41.

“镒”相当于二十四两,胡传耸先生认为相当于二十两。不过,学者们对齐国的一“镒”相当于二十四两这一点,并无争议。考虑到卫国距离齐国较近,我们可以称之为齐国周边地区。由此可知,一“镒”相当于二十四两为齐国一带的特征。

因此,本算题应成书于先秦时期的齐国一带。后来,随着“镒”这一黄金单位被废除,人们为了让本算题满足现实生活的需要,就将“镒”改为“斤”,但是改的时候没有注意到齐国的“镒”和秦国的“斤”存在重量差距,这道算题就有了经不起推敲的地方。这说明古书的传抄情况是比较复杂的,存世的古书既可能保存了它成书时的实际材料,又可能在流传的过程中遭到后人的修改。我们不能仅仅因为它们曾被后人修改,就将它们的成书年代往后推延。

(二)从大数进位看《孙子算经》的成书时代

《孙子算经》有一段描述大数进位的文字,内容如下:

量之所起,起于粟。六粟为一圭,十圭为一撮,十撮为一抄,十抄为一勺,十勺为一合,十合为一升,十升为一斗,十斗为一斛,十斛得六千万粟。所以得知者,六粟为一圭,十圭六十栗为一撮,十撮六百粟为一抄,十抄六千粟为一勺,十勺六万粟为一合,十合六十万票为一升,十升六百万粟为一斗,十斗六千万粟为一斛,十斛六亿票,百斛六兆粟,千斛六京票,万斛六陔粟,十万斛六秭粟,百万斛六穰栗,千万斛六沟票,万万斛为一亿斛六涧粟,十亿斛六正粟,百亿斛六载粟。

凡大数之法,万万曰亿,万万亿曰兆,万万兆曰京,万万京曰垓,万万垓曰秭,万万秭曰穰,万万穰曰沟,万万沟曰涧,万万涧曰正,万万正曰载。①

——————————

① 郭书春,刘钝,算经十书•孙子算经[M].沈阳:辽宁教育出版社,1998:1.

钱宝琮先生敏锐地发现,这里的大数(亿、兆、京、垓、秭、穰、沟、涧、正、载)的进位有两种,一种为十进位(第一段),一种为万进位(第二段)。前者“皆以十进(位),与《诗经•周颂•丰年》‘万亿及秭’,《毛传》‘数万至万曰亿,数亿至万曰秭’大数进法正同”。后者则“显有后人增窜之证”①。笔者认为,钱宝琮先生的论断是非常正确的。如果我们可以进一步考证大数十进位是何时出现及消失的,今日常见的万进位是何时出现的,就可能弄明白第一段文字产生的大致时间。

钱宝琮先生说:“大数进法,在秦以前早有万、亿、兆、京、垓等名目,都从十进……汉以后人改从万进”②。钱先生此言基本属实,只是万进位的出现比钱先生所认定的“汉以后”要早很多。万进位的材料,最早可以上溯到《左传》:

卜偃曰:“毕万之后必大。万,盈数也。魏,大名也……天子曰兆民,诸侯曰万民。今名之大,以从盈数,其必有众。”初,毕万筮仕于晋,遇屯。辛廖占之,曰:“吉……公侯之卦也。公侯之子孙必复其始。”(《左传•闵公元年》)

“万”为什么会是“盈数”?唐孔颖达《左传正义》注释说:“以算法从一至万,每十则改名,至万以后称一万,十万,百万,千万,万万始名亿,从是以往,皆以万为极。是至万则数满也。”③ 孔颖达所言甚是。倘若万、亿、兆之间是十进位的,而不是万进位的,万便不会成

————————

① 钱宝琮.孙子算经考[M]//李俨,钱宝琮.李俨钱宝琮科学史全集(卷九).沈阳:辽宁教育出版社,1998:96.

② 钱宝琮.中国数学史[M].北京:科学出版社,1963:101.

③ 阮元.十三经注疏M.北京:中华书局,2009;3877.

为“盈数”。只是这段材料的时间需要考察。一般认为,《左传》的作者是春秋左丘明,杨伯峻先生认为:“《左氏传》成于战国时,本是用战国时文字写的。”①我们知道,《左传》只记载灵验的占卜,以显示王侯将相确实有种。上述材料显然也是成于战国时,更明确地说,是成于三家分晋(公元前453年)以后。甚至有可能是魏国建立前后,为神化其由来而虚构出来的故事。因此我们认为,万进位的产生当在战国时期,时间比钱宝琮先生所说的汉代要早。战国之前,人们很少用到十万以上的计量单位,所以十进制就已经可以满足需求了。战国是一个大变革的时代,生产力发展,人口急剧增加,国家控制资源的增多等,都要求大数的计量单位从十进位变成万进位,从而可以更好地满足实际需求。如此,《孙子算经》中的十进位算题当来源甚早,很可能是战国以前的材料。

四、《孙子算经》中混入的后代信息

毋庸讳言,《孙子算经》也有一些时代较晚的信息。

四库馆臣已经发现,《隋书》在论述度量衡的时候,引用过《孙子算经》,内容却和今本《孙子算经》有所不同。这本是考察《孙子算经》被修改年代的好材料,可惜的是,四库馆臣以“盖古书传本不一,校订之儒各有据证,无妨参差互见也”为由,给忽略掉了。我们认为,数学材料,尤其是其中的度量衡信息和各种官方标准,跟社会生产的关系较为密切,有可能需要指导社会实践,因而会被不同时代的人们根据时代变化,进行必要的修改,从而会打上时代的烙印。与之相反的是,由于史书脱离社会生产,被修改的概率更低,因而史书引述的这些材料,可能会较好地保存了书籍的原貌。通过两相对比,我们就可以了解这些数学材料的原貌和修改情况。钱宝琮先生指出,这些度量衡的信息

————————

①《文史知识》编辑部.经书浅谈[M].北京:中华书局,1984:80.

“与唐代田曹、仓曹之制相同”①。可见,今本《孙子算经》可能经过唐代人修改。

《孙子算经》卷下有一道距离例题,也包含着历史信息:

今有长安、洛阳相去九百里。车轮一币一丈八尺。欲自洛阳至长安,问轮币几何?答曰:九万币。术曰:置九百里,以三百步乘之,得二十七万步。又以六尺乘之,得一百六十二万尺。以车轮一丈八尺为法。除之,即得。②

我们知道,长安是汉高祖时期才修建的,之前并无长安之名。也就是说,本算题应该是在汉高祖之后形成的。

《孙子算经》卷下有一道佛经例题,也包含着历史信息:

今有佛书凡二十九章,章六十三字。问字几何?答曰:一千八百二十七。术曰:置二十九章,以六十三字乘之,即得。③

这道题很简单,实质上是求29×63=?但“佛书”二字提示我们,该算题产生于汉译佛经出现之后。一般认为,最早的汉译佛经为《四十二章经》,据汤用彤先生考证:“东汉时本经之已出世,盖无可疑。”④那么,本算题应该出现在东汉《四十二章经》译出之后。跟本算题佛书字数最为接近的,大概是1858字的《阿弥陀经》,相差仅为31字。

——————————

① 钱宝琮.孙子算经考[M]//李俨,钱宝琮.李俨钱宝琮科学史全集(卷九).沈阳:辽宁教育出版社,1998:95.

② 郭书春,刘钝.算经十书孙子算经M.沈阳:辽宁教育出版社,1998:24. ③ 郭书春,刘钝.算经十书孙子算经M.沈阳:辽宁教育出版社,1998:18. ④ 汤用彤.汉魏两晋南北朝佛教史[M].武汉:武汉大学出版社,2008:24.

但《阿弥陀经》并不分章,而且真正的佛经不可能如此整齐,每一章都是“六十三字”,这是本题脱离实际的地方。

五、结语

通过上面的分析,我们可以知道:《孙子算经》的算题整体看来,出现的时间很早。主要证据是:

(1)书中记载的黄金重量算题,来自先秦时期齐国及其附近地区。

(2)《孙子算经》包含了战国之前的大数十进位法。

(3)《孙子算经》的算法和秦代的《数》、秦汉之际的《算数书》、两汉之际的《九章算术》相比,更为原始、古朴——《孙子算经》的算题没有名称;算题的解法只有一种,而且这一种算法尚没有脱离具体的算题和数据而存在,必须借助算题和数据来进行说明;算法描述存在着模糊不清甚至不对的地方。《数》《算数书》《九章算术》则给很大一部分算题增加了名称,用于总结某一类算题;均对算法进行过一般性的总结,已经可以摆脱具体的算题和数据而存在,因而具有更高的抽象程度;算法则更为准确。

(4)《孙子算经》包含了《数》《算数书》《九章算术》所需要的九九乘法、算筹的四则运算、各种度量衡的换算比例等各种基础知识。这些基础知识的来源必定很早。

将这些证据集中起来,我们就会得出结论:就算《孙子算经》出现得不够早,它的原型、它所蕴含的数学知识,也应该出现很早,早于秦代的《数》和秦汉之际的《算数书》。这是《孙子算经》一书的主要部分。所以,我们将《孙子算经》(或者说它的原型)断定为战国时期初步成书。

当然,反面的例子也有一些,比如出现了汉高祖以后才有的“长安”这个地名,出现了东汉以后才传入中国的“佛书”,出现了亿以上的万进位法,出现了唐代的度量规则等。这表明《孙子算经》在流传的过程中,不断被后人根据时代的变化,进行修改与添加。这两部分来源结合起来,就成了我们今天所看到的《孙子算经》。

目录
设置
设置
阅读主题
字体风格
雅黑 宋体 楷书 卡通
字体大小
适中 偏大 超大
保存设置
恢复默认
手机
手机阅读
扫码获取链接,使用浏览器打开
书架同步,随时随地,手机阅读
首 页 < 上一章 章节列表 下一章 > 尾 页