-1-
九章算術之開方法
TheCalculationoftheSquareRootofaNumber
inthe‘Nine-ChapterMathematics’inHàn
Dynasty
上傳書齋名:瀟湘館112XiāoXiāngGuǎn112
何世強HoSaiKeung
Abstract:Thisarticleshowshowthesquarerootofanumberwascalculatedin
ancientChina.
提要:本文指出《九章算術》中一數之平方根算出之法。
關鍵詞:《九章算術》、積、實、借算。
《九章算術》九卷,乃最早之古代數學著作之一,其作者無考。此書應經歷
代多家之增補及修訂,而成為今之傳世本。
《九章算術》共九章,分二百四十六題二百零二術,乃漢代之重要數學著作。
其書負盛名之另一原因為劉徽為其作注。
清?乾隆三十八年﹝公元1773年﹞編纂四庫全書,《九章算術》亦為其一。
其提要曰:
《九章算術》九卷,蓋《周禮》保氏之遺法,不知何人所傳。《永樂大典》
引《古今事通》曰:王孝通言周公制禮,有《九章》之名,其理幽而微,其
形秘而約;張蒼刪補殘缺,校其條目,頗與古術不同,云云。今考書有“長
安上林”之名,上林苑在武帝時,蒼在漢初,何緣預載?知述是書者,在西
漢中葉後矣。舊本有注,題曰劉徽所作。考《晉書》稱魏?景元四年,劉徽
注《九章》,然注中所云晉武庫銅斛,則徽入晉之後,又有增損矣。又有注
釋,題曰李淳風所作。考《唐書》稱淳風等奉詔注《九章算術》,為《算經
十書》之首。國子監置算學生三十人,習《九章》及《海島算經》,共限三
歲,蓋即是時作也。
-2-
有系統之講授《九章算術》及《海島算經》者,可能始自唐,然習者不多﹝只
三十人﹞,故算術在當時難以廣泛為人認識。
劉徽《九章算術》注原序曰:
按周公制禮,而有九數,九數之流,則《九章》是矣。往者暴秦焚書,經術
散壞,自時厥後,漢北平侯張蒼、大司農中丞耿壽昌,皆以善算命世,蒼等
因舊文之遺殘,各稱刪補,故校其目,則與古或異,而所論者多近語也。
依劉徽所云,《九章算術》先由張蒼(前256年至前152年),及耿壽昌二人
先作刪減增補,故多用“近語”,即接近劉徽時代之語調;但張蒼死於漢武帝之
前,故清代遂有“上林苑在武帝時,蒼在漢初,何緣預載?”之懷疑。魏景元四
年合公元263年,距張蒼約460年。耿壽昌乃漢宣帝時人,武帝之後,故“上林
苑”之說法可能由耿壽昌所增添。
《九章算術》中有所謂“開方”,即現代數學所言之開平方﹝求一數之平方
根﹞。
其法其實與現代數學所言之開平方法相若。因《九章算術》中有“開方圖”,
其圖表示一三位數之自乘。此相當於一正方形之一邊長a+b+c,繪成正方形後
可見大正方形由三個小正方形及四個長方形組成。
先看以下之平方展開式:
(a+b+c)2=[(a+b)+c]2
=(a+b)2+c2+2c(a+b)
=a2+b2+c2+2ab+2c(a+b)。
以上之展式可以以幾何圖表示。下二頁之“開方圖”即表示此法。此圖可
能由唐?李淳風所補。
以下為其基本步驟:
1.大正方形是為實,先估算出a,再從實減去a2,餘下一大曲尺形面積。
即(a+b+c)2–a2=b2+c2+2ab+2c(a+b)。
2.再估算出b,估算b之方法為解不等式:b2+2ab<(a+b+c)2–a2。
3.再從大曲尺形面積減去2ab及b2,最後餘下一小曲尺形面積。
4.再從小曲尺形面積估算出c。估算b之方法為解不等式:
2c(a+b)≤(a+b+c)2–a2–b2–2ab。
其他位數﹝多於三位﹞之數之開方法相若。以下為一般之籌算開方法﹝平方
根為三位數﹞,粗略可分成七步驟,若果平方根為四位數,則步驟增多,位數越
多,則其步驟越多。
古時以下之數目字以算籌代替。以下之商即為平方根之位,商1為百位,商
-3-
2為十位,商3為個位。故所得之平方根應為a+b+c,為避免混淆,分成三列
書寫,在實際之籌算法可不必。
商3
商2b
商1aa
實NN–a2N–a2
算法a2a
借算111
(1)(2)(3)
商3
商2bb
商1aa
實N–a2–(2a+b)bN–a2–(2a+b)b
算法2a+b2a+b+b
借算11
(4)(5)
商3Cc
商2bb
商1aa
實N–a2–(2a+b)bN–a2–(2a+b)b–(2a+2b+c)c
算法2a+2b2a+2b+c
借算11
(6)(7)
以上之步驟可能不易明白,但參考以下之“開方圖”及開方實例則較為清
晰。
籌算開方法之圖(7)之實若果為0,即表示N乃為一完全平方數。若非0,則
非完全平方數,可依現代之列式算法算出所須之小數位。
以下為開方圖﹝平方根為三位數﹞:
-4-
開方圖
設最大之正方形邊長為a+b+c,顯然:
(a+b+c)2=a2+b2+c2+2ab+2c(a+b)。等式之右方即為三個小正方形及
兩組長方形,如開方圖所示。
又從以上之開方圖可知,a2為方之黃甲冪,b2為隅之黃乙冪,c2為隅,ab
為廉之朱冪,共兩個,即2ab;c(a+b)為廉之青冪,共兩個,即2c(a+b)。其
總和即為(a+b+c)2。正方形之顏色為黃,第一個為甲,稱之為“方”;第二個
為乙,稱之為“隅”;以後之正方形皆稱之為“隅”,以丙、丁、戊…為識別。
最小之正方形稱為“隅”,不必加上天干。注意“冪”有面積之意。
若a為最大之位,在最右,則最少之位在最左,所形成之正方形則在最大
正方形之從右上角至左下角之對角線上,從大至小排列;最大在右上角,最小在
左下角,如上圖所示。
上圖之長方形,一橫一縱,面積皆相等,例如ab與c(a+b),稱為“廉”,
以不同之顏色表示,ab為朱而c(a+b)為青。再有其他長方形則以其他顏色代表。
《九章算術》注曰:
注內稱黃甲冪者,即初商所除方冪。稱黃乙冪及兩朱冪者,即次商所除隅冪
及兩廉冪。稱兩青冪者,即三商所除兩廉冪。凡次商以後,皆有隅,有兩廉,
-5-
故倍黃甲之面,為朱冪定袤,併黃甲及黃乙之面,倍之,為青冪定袤。
袤,長度也。青冪之袤,即c(a+b)之長度。
以上之注文若參閱開方圖則清晰。
第一步驟:先求黃甲冪。黃甲冪即最接近但不大於原數之平方數。其平方根
最大位數之數是為第一商。此數可憑觀察而得,設此數為a。
第二步驟:原數減去此平方數後,剩兩隅冪﹝即一黃乙冪及最小隅冪﹞,兩
廉朱冪及兩廉青冪。設原數為N,則N–a2=b2+c2+2ab+2c(a+b)。
第三步驟:求黃乙冪及兩朱冪。即求b,即求最大之整數b,使:
b2+2ab=(2a+b)b b之值可從觀察或試算而得,於是即可得b2+2ab之值。此即為次商。
第四步驟:求隅及兩青冪,即求c。先算出:
N–a2–b2–2ab=D,即c2+2c(a+b)=D。若a+b=e,求c則:
c2+2c(a+b)=c2+2ce≤D。c之值可從觀察或試算而得。
現以《九章算術?卷四》其中一例以說明以上之情況及步驟。
《九章算術?卷四》其中一問曰:
今有積五萬五千二百二十五步,問為方幾何?答二百三十五步。
解:
55225是為積,積,面積也。實,所須要開方之數也。即今求55225。
先求黃甲冪。從觀察可知黃甲之數﹝即a﹞為200,黃甲冪為40000﹝即a2﹞。
又55225–40000=15225。
依前述可知從(2a+b)b<15225不等式中求b,若a為200,
即(2×200+b)b=400b+b2<15225。
從觀察可知b=30,於是400b+b2=12000+900=12900<15225。
餘數15225–12900=2325。此即為隅及兩青冪之和。
再從此式求c:[2×(200+30)+c]c≤2325,
即460c+c2≤2325,粗略之試算法為460c≤2325,可得c=5,故可以以c=
5試算之。
從觀察可知若c=5,則460c+c2=2300+25=2325。
故55225之平方根為200+30+5=235。
-6-
此乃《九章算術》之結果,單位為步。
以下為近代之開方法:
先將55225從右至左每兩位數作一組。求一數使其平方數小於5,此數顯然
為2,此2即為a,是為第一商。將其平方數4置於5之下,相減得1。
列成除數式,令15225為被除數;2倍之a為一兩位數之十位,再補上一最
大之個位數b為除數,又令(2a×10+b)b小於152,經試驗可知此數為3。23與
43之積為129,152減之得23。此法截去十位與個位之25。
將其餘位數補上得2325。又令2325為被除數;2倍之23為一三位數之百位
與十位,再補上一最大之個位數c為除數,即除數為(46×10+c)c,從試驗可
知此數為5。即465×5=2325。
故15225之平方根為235。
以下為籌算法﹝原本應以算籌表示,為方便起見,今改用阿拉伯數目字﹞:
術曰:置積為實,借一算,步之,超一位﹝一作“等”﹞﹝見第(1)圖﹞。
注曰:言百之面十也,言萬之面百也。
其意指若方面積為100,則其邊長為10;若方面積為10000,則其邊長為100。
原數為萬位,則其根為百位,故在百位2之下寫“借算”1。
議所得,以一乘所借一算,為法而以除。注曰:先得黃甲之面上下相命,是
自乘而除也。
-7-
議,估算也。先以估算法算出黃甲面為200,即a為200,亦即商1為200。
又書200於借算列之上一列,是為“上下相命”。然後自乘而除,“除”即減去,
即自乘後得40000,再由實55225減之得15225,是為新之實。見第(2)圖。
除已,倍法為定法。注曰:倍之者,豫張兩面朱冪定袤,以待復除,故曰定
法。
55225減去40000後得15225,再將200乘以2,其目的為求兩朱冪,即求
ab。見第(3)圖。
其復除,折法而下。注曰:欲除朱冪者,本當副置所得成方,倍之,為定法,
以折議乘而以除,如是當復步之而止,乃得相命,故使就上折下。
本段文意晦澀。其意為如果要減去朱冪,則先議出黃乙冪之邊,即求b,200
乘以2得400。又(400+b)b必少於新實15225,可估算出b為30。此即為次商,
或稱為商2,書30於商2之位,見第(4)圖。
復置借算,步之如初,以復議一乘之。注曰:欲除朱冪之角,黃乙之冪,其
意如初之所得也。
實減(2a+b)b,即15225–(400+30)×30=15225–12900=2325,此2325
書於實之位。以上步驟為除“朱冪之角,黃乙之冪”,除後所得之實為第三實
2325,見第(5)圖。
所得副以加定法,以除以所得副從定法。注曰:再以黃乙之面加定法者,是
則張兩青冪之袤。
副即b即30,定法為a為200,相加則得230,此即為青冪之長邊。乘2得
460,因有兩青冪。
復除折下如前,若開之不盡者,為不可開,當以面命之。
依前二法,估算商3為5,2×(200+30)+5=465,見第(6)圖。而實2325–
465×5=0,故最後之實為0,即表示原積乃完全平方數。見第(7)圖。而平方根
為200+30+5=235,即商1+商2+商3。以籌法運算時,0可以不寫,可直接
寫成235。
-8-
注意《九章算術》己有“開不盡”之說法,即原數並非一完全平方數,餘數
可視作“面”,即最小正方形之邊長。
《九章算術?卷四》其中另一問曰:
又有積五十六萬四千七百五十二步四分步之一,問為方幾何?答七百五十一
步半。
解:
此題之實為56475241,先化成如下之算式:2259009÷4,各自求其平方根
再化簡即可得答案。
《九章算術?卷四》曰:
若實有分者,通分內子為定實,乃開之訖,開其母,報除。
以上之說法即將帶分數化為假分數,分子與分母各自開方後再作除法即可得
答案。不過筆者一向有此看法:將一帶分數化為假分數,只有《九章算術》
方有此說法。
《九章算術?卷四》又曰:
若母不可開者,又以母再乘定實,乃開之訖,令如母而一。
以上文意指若要開方帶分數d
fe
,則先化成假分數
fedf?
,分子與分母各自
開方,若f不能開方,則分子先乘f,即
2)(ffedf?
=
ffedf)(?
,此即所謂
“母乘定實”,分子開方後再除以f即可得答案。
以下為近代之開方法:
4之開方為2,故答案即1503÷2=75121﹝步﹞。
-9-
現簡述近世之開方及列式法:
先將2259009從右至左每兩位作一組。求一數使其平方數小於2,此數顯然
為1,此2即為a,是為第一商。將其平方數1置於2之下,相減得1。
列成除數式,令1259009為被除數;2倍之a為一兩位數之十位,此數為2;
再補上一最大之個位數b為除數,又令(2a×10+b)b小於125,經試驗可知此數
為5,置5於1之右方。25與5之積為125,152減之得0。注意截位之算法。
在5之右方補上一0。9009為被除數;2倍之150為一四位數之千位、百位
與十位,再補上一最大之個位數c為除數,即除數為(300×10+c)c,從試驗可
知此數為3。即3003×3=9009。
以下為籌算法之步驟:
原為為百萬位,則其根為千位,故在千位9之下寫“借算”1。見圖(1)。
估算a為1000,故商1書1000,又書1000於9009之下,見圖(2)。因10002
小於2259009。
從實減去10002,即2259009–10002=1259009,在圖(3)之實位寫此數,
125009乃新之實數。又將1000之2倍寫於9009之下,借算1向右移一位,
見圖(3)。
估算b之值,使(2000+b)b≤1259009,從試算可知b=500,於是書500
於商2之位。見圖(4)。
-10-
又2500×500=1250000,以實1259009減之得9009。3000之數乃得自2000
+2×500,即倍500後得1000,加於原數之2000,遂得3000,見圖(5)。
借算1向右移一位,即處於10位,在商3書00﹝書00表示十位,其實一0
亦可,在籌算時則空一位﹞,見圖(6)。
估算c之值,使[2(1000+500)+c]c=3000c+c2=9009,從試算可知c=3,
書3於商4之位。見圖(7)。
若c=3,則9009–(3000c+c2)=0,書0於實位,即2259009是一完全平
方數,其根為1000+500+0+3=1503。見圖(8)。
依前所述,4之開方為2,故答案即1503÷2=75121﹝步﹞。
比較古今之開方法及算式,當然以今之列式為勝,因較清楚簡潔。開方乃現
時之初中數學題,不過現時之中學生多只知其算法﹝只要強記其運算步驟即
可﹞,多不知為何作此算法。若以算籌運算,則必須知其運算理由,否則無法排
列出算式,此乃古今算法之大差異。
|
|