衣?lián)嵘?/p>
(河北經(jīng)貿(mào)大學(xué) 發(fā)票博物館,河北 石家莊 050061)
出土算術(shù)文獻(xiàn),是目前學(xué)界研究的熱點(diǎn)之一。數(shù)字殘缺問題,是出土算術(shù)類文獻(xiàn)整理中的常見問題,對出土算術(shù)文獻(xiàn)的研究造成了較大的困擾,亟需解決。目前來說,其解決方法主要有:通過紅外線掃描,獲得更為清晰的圖像;結(jié)合殘余筆畫,進(jìn)行字形分析;采用簡單的整數(shù)或分?jǐn)?shù)運(yùn)算,進(jìn)行推測。本文介紹兩種在特定情況下簡單有效的新方法,即窮舉法、特性分析法。窮舉法,即將取值范圍內(nèi)所有的可選項(xiàng)逐一驗(yàn)證,直到驗(yàn)證完畢。這種方法的要求是:可選項(xiàng)必須是有限的。它在分母完整、分子缺失的情況下,簡單有效,通??梢詷O大地縮小范圍,甚至是直接得出正確答案。特性分析法,是根據(jù)算題的特性,靈活地采取相應(yīng)的解法。為了簡便起見,本文介紹的是一類特殊的特性分析法——乘數(shù)因子包含大素?cái)?shù)的特性分析法。
本文以《算數(shù)書》“大廣”算題為例,來介紹這兩種方法。當(dāng)然,筆者關(guān)注的不是“大廣”算題本身,而只是將其作為介紹窮舉法和特性分析法的一個(gè)例子?!按髲V”算題的內(nèi)容如下:
大廣廣七步卌九分步之□□□□□□□□□□□□□□□□□為□六十四步有(又)三百卌三分步之二百七十三。大廣術(shù)曰:直(置)廣從(縱)而各以其分母乘其上全步,令分子從之,令相乘也為實(shí),有(又)各令分母相乘為法,如法得一步,不盈步以法命之。[1](156)
該算題殘缺數(shù)字較多,其復(fù)原工作也就成了非常有趣的智力游戲。郭書春[2](217-218)、郭世榮[3](284)、王元鈞[4]等先生都對該算題有過研究,不過他們的研究均修改了已知條件。要知道,已知條件是我們進(jìn)行推論的基礎(chǔ),這個(gè)基礎(chǔ)如果不存在,可以進(jìn)行隨意修改,那么本算題就根本無法進(jìn)行校正。因此,我們堅(jiān)持不改動(dòng)已知條件,對這些研究也就置而不論。紀(jì)志剛先生的觀點(diǎn)值得引起重視——他是第一個(gè)嘗試用窮舉法來解決該問題的學(xué)者。紀(jì)先生通過計(jì)算機(jī)程序,得到11種可能性,經(jīng)過排除,留下兩種組合,分別是:
廣七步四十九分步之七,從九步十四分步之一。問為田幾何。得曰:為田六十四步又三百四十三分步之二百七十三。
廣七步四十九分步之卌二,從八步╪七分步之十九。問為田幾何。得曰:為田六十四步有(又)三百四十三分步之二百七十三。[5](233)
紀(jì)先生通過計(jì)算機(jī)尋找各種可能性,嘗試了很多種情況,其結(jié)論具有較強(qiáng)的說服力,但是不完全準(zhǔn)確,論證過程也存在缺憾:
第一,紀(jì)先生的排除方法有錯(cuò)誤。紀(jì)先生計(jì)算出來的“從”全部都是最簡分?jǐn)?shù),沒有注意到“從”可以不是最簡分?jǐn)?shù)。以紀(jì)先生的計(jì)算結(jié)果來說,兩種組合的“廣”都不是最簡分?jǐn)?shù),他卻要求“從”必須是最簡分?jǐn)?shù),并據(jù)此進(jìn)行排除。這是難以說服人的。比如,被排除了,理由是分母3不是7的倍數(shù)。其實(shí),我們完全可以把該分?jǐn)?shù)變成非最簡分?jǐn)?shù)8—,這樣就可以滿足條件了。
第二,紀(jì)先生假定B2的值為“1-343之間”。這個(gè)假定是不合理的,B2為什么就不能大于343?B2完全可以大于343,經(jīng)過約分后,讓結(jié)果的分母變成343。當(dāng)然,紀(jì)先生這么做是有苦衷的:倘若不限制B2的大小,那么這道算題就需要嘗試無數(shù)種可能性,也就無從計(jì)算了。因此,紀(jì)先生只能人為設(shè)定一個(gè)最大值,從而將無數(shù)種可能性變?yōu)橛邢薹N可能性。這恰恰說明紀(jì)先生的算法有問題,存在較大的局限性,無法做根本上的解決。
第三,紀(jì)先生的計(jì)算過程太繁瑣。嘗試的排列組合達(dá)到(1+2+3+……+342)×48×2=5,630,688種之多?。ㄓ?jì)算方法為:組合需要嘗試的次數(shù)×A需要嘗試的次數(shù)×B需要嘗試的次數(shù))。而且,這種方法雖然給出了答案,但是沒有嚴(yán)密的計(jì)算方法,也看不到計(jì)算過程,這不能不說是一個(gè)遺憾。
總之,紀(jì)先生的計(jì)算方法不是很完美,存在這樣或那樣的問題,卻是很有價(jià)值的,原因在于,這種計(jì)算方法實(shí)際上已經(jīng)具備了窮舉法的雛形,值得重視。
在正式介紹窮舉法和特性分析法之前,我們首先討論這道題目的兩個(gè)限制條件。限制條件1:我們可以根據(jù)缺失的字?jǐn)?shù),大體推斷出A、B1、B2所占的字?jǐn)?shù)。按照《算數(shù)書》和秦漢數(shù)學(xué)材料的表述規(guī)范,我們可以給“大廣”算題補(bǔ)充一些文字(用加黑字體標(biāo)識(shí)):“大廣廣七步卌九分步之□□從八(或“九”)步□□分步之□問為田幾何。曰:為田六十四步有(又)三百卌三分步之二百七十三。”其中,“問”字可以省略,《算數(shù)書》公布答案的句式有“曰”和“得曰”兩種,也就是說,A、B1、B2的字?jǐn)?shù)加起來是4(“得曰”)到6(省略“問”字)個(gè)字之間。限制條件2:我們注意到,計(jì)算結(jié)果343可以化為49×7,而被乘數(shù)的分母是49,這表明7這個(gè)因子應(yīng)該來自B2。如果上述8組數(shù)據(jù)的B2不能整除7,需要將B1、B2都乘以7。
下面,我們來介紹前文所提到的窮舉法。窮舉法是最簡單、最直觀的方法,我們不需要像紀(jì)先生那樣同時(shí)考慮A、B、B1、B2的值,把簡單問題復(fù)雜化。實(shí)際上,我們只需要根據(jù)1≦A≦48這一限制條件,嘗試A的48種可能性(從1到48),就可以根據(jù),算出相應(yīng)的B、B1、B2的值——我們將所得結(jié)果化為帶整數(shù)的分?jǐn)?shù),整數(shù)部分即為B,分?jǐn)?shù)部分的最簡形式,其分母即為B2,分子即為B1(當(dāng)然,我們可以根據(jù)需要進(jìn)行調(diào)整,使之成為非最簡形式)。例如,我們可以嘗試A為3的情況,,因此,B=9,B2=346,B1=61。以此類推,只需要嘗試48次,就可以得到所有的結(jié)果。由于這個(gè)結(jié)果較為繁瑣,而且容易獲得,這里就不詳細(xì)論述了。
(1)廣七步卌九分步之七,從九步十四分步之一。問為田幾何。得曰:為田六十四步有(又)三百四十三分步之二百七十三。
(2)廣七步卌九分步之卅二,從八步百五分步之卌九。為田幾何。曰:為田六十四步有(又)三百四十三分步之二百七十三。
(3)廣七步卌九分步之卅八,從八步廿一分步之七。問為田幾何。曰:為田六十四步有(又)三百四十三分步之二百七十三。
(4)廣七步卌九分步之卌二,從八步╪七分步之十九。為田幾何。曰:為田六十四步有(又)三百四十三分步之二百七十三。
通過這道算題,我們可以看出:窮舉法有可能會(huì)成為解決這一類問題的通用方法——如果一個(gè)分?jǐn)?shù)的分母是完整的,分子有殘缺,就可能將分子的取值限定在一個(gè)較小的范圍內(nèi),配合以其他限制條件,或許會(huì)很容易得到幾組最優(yōu)解。退一步講,就算分母也殘缺,只要沒有完全殘缺,還是可以用枚舉法。比如,如果本算題被乘數(shù)的分母“49”殘缺了一個(gè)數(shù)字,我們就完全可以假定該數(shù)字為從0~9的數(shù)字,進(jìn)行帶入計(jì)算。其計(jì)算步驟依然是有限的,并且涵蓋了所有的可能性。因此,在分母齊全或者部分殘缺并知道殘缺的位數(shù)的情況下,窮舉法是具有較大價(jià)值的推導(dǎo)方法。
特性分析法是指先尋找該算題的特性,再根據(jù)這些特性,盡量縮減可能性和計(jì)算范圍。如前所述,本算題采取的實(shí)際上是乘數(shù)因子包含大素?cái)?shù)的特性分析法(主要體現(xiàn)在下文的“性質(zhì)3”中)。我們將等式化為假分?jǐn)?shù)的形式,可以得到方程。采用特性分析法的計(jì)算過程如下:
性質(zhì)2:限制條件2可表述為B2=7m(m是正整數(shù))。在計(jì)算的過程中,m被當(dāng)成公因子消去了,所以沒有顯示在結(jié)果的分母值343中。
性質(zhì)3:我們發(fā)現(xiàn)結(jié)果的分子里有一個(gè)大素?cái)?shù)127,這可以為我們的計(jì)算提供很大的方便。通過分析方程1可知,343+A和B×B2+B1這兩者之中,至少有一個(gè)能整除127,因此本題可以化解為兩個(gè)部分:343+A能整除127;B×B2+B1能整除127。所有的可能解均在這其中。
由于1≦A≦48,343+A的取值范圍是[343,391],其中能被127整除的只有381,此時(shí)A=38。由可知,?的最簡分?jǐn)?shù)形式是,參考性質(zhì)2可知,該分?jǐn)?shù)應(yīng)變成。
即:B×7m+B1=127d,其中m、d均為正整數(shù),0<B1<7m,B=8或9。我們可以分成如下兩種情況進(jìn)行討論:
1.B=9,即9×7m+B1=127d,變形得:B1=127d-9×7m。由于0<B1<7m,可得:0<127d-9×7m<7m,變形可得:,即1.81d<m<2.02d,m=2d。將其代入方程,可得:B1=127d-9×7m=127d-9×7×2d=d。因此,乘數(shù)是,被乘數(shù)是。
2.B=8,即:8×7m+B1=127d(方程2)變形得:B1=127d-8×7m。由于0<B1<7m,可得,即2.02d<m<2.27d,只有當(dāng)?shù)恼麛?shù)部分不一樣時(shí),整數(shù)m才可能存在。由此可知,d≧4。當(dāng)d≧7時(shí),B2將是三位數(shù),字?jǐn)?shù)超出限制,不符合要求。因此,d的值只能取4、5、6、7之一。其中存在兩個(gè)可能解,即:。
至此,我們就會(huì)得到該算題的全部四種可能解,即:如果343+A能整除127,那么對應(yīng)的解為:,如果B×B2+B1能整除127,且B=9,那么對應(yīng)的解為:,如果B×B2+B1能整除127,且B=8,那么對應(yīng)的解是:。相關(guān)的文字已經(jīng)在上文表述過了,這里不再贅述。
可以看到,上述兩種計(jì)算方法適用的情況不一樣:在分母完整(或者是部分殘缺,且明確知道殘缺了多少位)、分子殘缺的情況下,窮舉法較為簡單有效,只需要將分子按照從1到分母減1的順序,逐個(gè)帶入即可;而在數(shù)字存在某些特性,尤其是存在大素?cái)?shù)乘數(shù)因子的情況下,特性分析法較為簡單有效。在明確等式兩邊都有該大素?cái)?shù)因子的前提下,通過查找該大素?cái)?shù)因子所在的位置,可以將計(jì)算簡化為幾種情況,也就是說,這兩種方法都是針對特定情況的有效方法。數(shù)學(xué)是出土算術(shù)類文獻(xiàn)的核心要素,應(yīng)提高數(shù)學(xué)運(yùn)算在出土算術(shù)類文獻(xiàn)整理和研究中的比例。