籌算
歷史
籌算具體出現時間已然不可考,但根據典籍記錄和考古發現,至少在戰國初年籌算已然出現。[1]它使用中國商代發明的十進位制計數,可以很方便地進行四則運算以及乘方,開方等較複雜運算,並可以對零、負數和分數作出表示與計算。
籌算在公元6世紀由中國傳入韓國和日本。七世紀的印度數學,分數中的分子在上,分母在下,與中國同,分數的乘除法也和《九章算術》相同。古印度數學絕大部分來自中國。[2]。一直到被珠算完全取代之前,籌算是東亞古代進行日常計算的方法,算籌是東亞古代數學家研究數學時常用的計算器具,是東亞古代各種重要數學發明的基礎,開創了中國以至東亞古代以計算為中心的機械化數學體系,與古希臘以邏輯推理為中心的數學體系有所不同;機械化的數學體系是一千多年世界數學的主流[3]
影響
籌算的乘除法傳入印度,成為土盤算法[4]。9世紀初至10世紀,又經印度傳入阿拉伯,這時期的阿拉伯闡述印度數學的數學著作,諸如《印度算術原理》,其土盤算式雖然用阿拉伯數字表示,但其十進位制概念,分數的表示法,以及加、減、乘、除四則運算的計算方法,和中國的籌算雷同,有的還用空格「 」表示「0」,和籌算一模一樣。有學者認為,中國古代的籌算,通過絲綢之路傳入印度、阿拉伯,促成印度-阿拉伯數字體系[5]。
數字表示
算籌數系是世界上唯一只用一個符號的方向和位置的組合,表示任何十進位數字或分數的系統。 單位數字:將籌棍豎排一根棍表示1,兩根棍表示2,5根棍表示5如圖上。但從6至9數字的表示,不是並排6至9根籌棍,而是採用同位五進制,即用一根籌棍代表數碼5,橫放在籌數1至4的上方如圖。這已蘊含算盤雛形。上排是籌算中1至9的豎碼,下排是相應數字的橫碼。
大於9的數字,則用十進制表示,在個位數的位置左邊,放置一個籌數,代表這個籌數的十倍,在十位數值左的位置,代表百位數,如此類推。如圖所示數二百三十一(231)的表示法,在個位放置一根籌碼,表示1,在十位放置籌數3,代表30,在百位放置籌數2,代表200,總數即二百三十一(231)。《孫子算經》云:
凡算之法:先識其位,一從十橫,百立千僵,千十相望,萬百相當。
籌算板一般是桌面或地面,通常沒有格子。如果籌碼2,3,1並排排列,有可能被誤讀為51或24;為了避免鄰位誤讀,每隔一位交替使用豎碼橫碼,即個位豎碼,十位用橫碼,百位用豎碼,千位用橫碼,如此類推,就可以完全避免誤讀了[6]。
零的表示
中國自有籌算起就有「0」,即以空位表示「0」。籌算中的零是位置零和運算結果的零,沒有特定符號,這和阿拉伯數字專有一個符號0不同,阿拉伯數字0只是符號零,不是運算結果。[來源請求]
正負數
小數
孫子算經的度量衡已有十進位制概念,如尺、寸、分、厘、毫、絲、忽。七丈一尺二寸三分四厘五毫六絲,用現代表示方法為71.23456尺,用算籌排為
- 1.1446154日
表示為:
即在個位數1下記一「日」字。[8]
加法
算籌本身已經包含加法,因此用算籌進行加法運算十分方便快捷。籌算加法與阿拉伯數字加法最大的不同,在於算籌本身具有可加性,用算籌進行加法運算,只須機械地搬動籌棍,即可進行運算,不需要另外背誦加法表,這與阿拉伯數字不同,不可能將阿拉伯數字1和2機械地疊成3字,2和3疊成一個5字。
左圖表示 的運籌步驟:
- 將被加數3748放上行,加數289放下行,位數對齊。
- 從左往右計算。
- 取出下行百位數的二豎棍,與上行7合併為9。
- 從上行十位的4,取出二根籌棍(上行剩2),與下行8合為10,進位1,與百位的9合為10,進一位。
- 將個位數的8,取出一根籌與下行9合為10,進位1,與十位的2合為3
- 答案4037。
上行被加數籌碼,在運算過程中逐步變化;下行加數籌碼,在運算過程中逐步消失。
減法
不需向上一數量級借位的情況下,只要從被減數中去掉與減數相同數目的籌棍,剩餘的籌碼就是答案。左圖為計算54-23的演示步驟。 右圖為計算4231-789的演示步驟,此情況即為需要向上一數量級借位:
- 將被減數4231放在上行,減數789放下行。從左往右逐位運籌。
- 從千位借1為百位10,減去下行該位的7,餘數3與上行2合為5,下行本位的7被取去,留空白。
- 從百位5借1留4,百位所借1減十位下行8得2,與上行3合為5;至此上行籌碼為3451,下行為9。
- 從上行十位的5借1餘四,所借1(=10)減去下行9得1,搬往上行得2,至此下行籌碼已全部減除,上行得3442即是運算結果。
乘法
夫乘除之法,先明九九,一叢十橫,百立千僵,千十相望,萬百相當。滿六已上,五在上方。六不積算,五不單張。上下相乘,實居中央。言十自當。已法除之,宜得上商,橫算相當。以次右行,極於左方。
《孫子算經》對籌算乘法有詳細闡述。 左圖即為籌算38×76的演示步驟:
- 將被乘數放在上排(上位),乘數放在下排(下位),乘數的個位,對齊被乘數的最高位。如圖:被乘數38在上排,乘數76在下排,其個位數6對齊被乘數38的3。上下排之間,留空幾排,作中間積存放處。
- 運算規則:從左至右。
- 從被乘數的最高位開始運籌(例中即先運算30×76,再運算8×76)。在運算中必須運用九九表。據九九表「三七二十一」,將籌碼21放在中間排,1對齊乘數的十位,即在7之上;然後「三六一十八」;(30×76得中間積2280),如圖中排,至此被乘數的3已經完成運算,從籌板除去。
- 將乘數76的籌碼,往右移動一位,7改橫碼,6改為豎碼;
- 以下再運算8×76,運算「七八五十六」,撤乘數十位數籌碼7;
- 運算「八六四十八」,4與上一步所得56的6合併為10,進位1,撤去被乘數個位8,撤去乘數個位6;
- 將中間積2280與608相加,得積2888,至此整條算式運算完畢。
P.S.:範例圖片是一邊乘一邊加而不是像文字描述所說乘完後才加。
除法
左圖為計算 的演示步驟:
- 將被除數309放中排,除數7放下排,上排留空。
- 將除數7右移一位,變橫碼,用九九表和減法運算30÷7:30除7得4剩2,
- 商4擺上排,2留中排。
- 將除數7右移一位,改豎碼;再用九九表和減法運算29÷7:29除7得4餘1,
- 商4放上排,除數不撤,最後得商44,餘數1,故 。
孫子除法在9世紀初最早由花拉子米從印度介紹到阿拉伯國家,十世紀阿拉伯數學家阿爾烏幾里德《印度的算術》[9]敘述的早期除法和十一世紀波斯數學家伊本·拉班《印度算術原理》敘述的除法,也是不折不扣的孫子除法:
- 同樣上、中、下三行的布列格式
- 同樣上為商數,中為被除數,下為除數
- 同樣的左邊對齊
- 同樣的自左往右運算
- 同樣算一步後將除數右移一位
- 同樣除數後面以空格代0
- 同樣的商和餘數,以三行格式表示。
分數
用籌算進行除法運算時,如留有餘數,則必須保留除數和餘數,形成一對籌碼,一在上一在下。劉徽《九章算術注》中,在上的籌稱「實」,為在下的籌稱為「法」:《孫子算經》中,在上的籌稱為「子」,(分子),而在下的稱為「母」(分母)。如右圖一對籌碼一在上一在下,1是子,7是母,構成分數 。 這種籌算分數的表示法,在9世紀由花拉子米介紹到阿拉伯國家。
分數加法
- 將分子1,2 擺放在算籌板的左邊,將分母3,5擺放在算籌板的右邊
- 將分子與分母交叉互乘,將所得的積代替相應的分子
- 將分母相乘,將乘積擺放在算籌板右下方
- 將新的分子相加,其和擺放在算籌板右上方
- 結果: =
分數減法
- 將分子8,1的算籌擺放在算籌板的左邊
- 將分母9,5 擺放在算籌板的右邊
- 分子分母互乘,以乘積代替相應的分子。
- 分母相乘,其積擺放在算籌板右下方
- 新分子相減為差,將差數擺放在算籌板右上方
- 結果: =
分數乘法
- 將 和 在算籌板上佈置成商、實、法形式。
- 商乘法加入實。 3*3 + 1=10; 5*5 + 2=27
- 實乘實:10*27=270
- 法乘法:3*5=15
- 實除法: =18
此算法的實質是將帶分數先化成假分數,再行乘法。
分數除法
- 將分數在算籌板上以商、實、法的三行格式排列。
- 將商乘法,併入實。
- 將除數分數的分子、分母互換。
- 分子、分母相乘。
- 約分。
此算法的實質是將帶分數先化成假分數,並將除數取倒數相乘。
最大公約數
九章算術給出求兩個數最大公約數的方法,即輾轉相除,以至最後餘數相等,即為最大公約數。
左圖為求 的最大公約數,並進行約分。
最大公約數為25,約分得 。
分數內插法
何承天發明名為調日法的分數內插法,反覆將弱值分數與強值分數的分子分母相加已求得更佳的近似值。祖沖之用此法求的著名的圓周率 約率 和密率
開平方根
孫子算經卷中:「今有積,二十三萬四千五百六十七步。問:為方幾何?答曰:四百八十四步九百六十八分步之三百一十一。
術曰:置積二十三萬四千五百六十七步,為實,次借一算為下法,步之超一位至百而止。上商置四百於實之上,副置四萬於實之下。下法之商,名為方法;命上商四百除實,除訖,倍方法,方法一退,下法再退,復置上商八十以次前商,副置八百於方法之下。下法之上,名為廉法;方廉各命上商八十以除實,除訖,倍廉法,從方法,方法一退,下法再退,復置上商四以次前,副置四於方法之下。下法之上,名曰隅法;方廉隅各命上商四以除實,除訖,倍隅法,從方法,上商得四百八十四,下法得九百六十八,不盡三百一十一,是為方四百八十四步九百六十八分步之三百一十一」。
右圖為籌算開方 。
算法如下:
- 把234567放在算籌板的由上數起的第二行上,稱之為實。
- 把一個標記「1」放置在第四行的萬位,稱為下法。
- 估計平方根的第一位,放在第一行(商)的百位。
- 將商乘以下法(4×1),把積放在第三行,稱之為方法。
- 將實減去商和方法的積,23-4×4=7
- 將方法乘以2,把它移向右邊,改為橫碼。
- 把下法向右移兩位。
- 估計平方根的第二位,放在商的十位。
- 將商乘以下法,積加到方法。
- 8(方)×8(商的十位)=64,將74減去64,把10放到實,再將105減去8(廉)×8(商的十位)=64,再把41放回實。
- 把方法的個位(廉)乘以2,加到原方法80。
- 把方法向右移,改變方向;把下法向右移兩位。
- 估計平方根的第三位。
- 將商乘以下法(4×1),積加到方法,此時方法應為964。
- 從實減去4×900+4×60+4×4=76,餘下311。
- 把方法的個位乘以2,加到原方法960。
- 答案:
十一世紀波斯數學家伊本·拉班的開平方術,與孫子基本上相同,唯最後分母加1,所以平方根的小數比真值略小,孫子算法所得,則比真值略大。
開立方根
九章算術卷第四《少廣》有數道開立方題,其開立方術為後世開立方術的基礎。
〔二二〕又有積一百九十三萬七千五百四十一尺、二十七分尺之一十七。問為立方幾何?
答曰:一百二十四尺、太半尺。 開立方術曰:置積為實。借一算步之,超二等。議所得,以再乘所借一算為法,而除之。除已,三之為定法。復除,折而下。以三乘所得數置中行。復借一算置下行。步之,中超一,下超二等。復置議,以一乘中,再乘下,皆副以加定法。以定法除。除已,倍下、並中從定法。復除,折下如前。開之不盡者,亦為不可開。若積有分者,通分內子為定實。定實乃開之,訖,開其母以報除。若母不可開者,又以母再乘定實,乃開之。訖,令如母而一。
右圖為賈憲增乘開立方解九章算術第四卷少廣〔一九〕
今有積一百八十六萬八百六十七尺。問為立方幾何?
答曰:一百二十三尺。
:
聯立方程
九章算術 卷第八 方程: 〔一〕今有上禾三秉,中禾二秉,下禾一秉,實三十九斗;上禾二秉,中禾三秉,下禾一秉,實三十四斗;上禾一秉,中禾二秉,下禾三秉,實二十六斗。 問上、中、下禾實一秉各幾何?
答曰:
上禾一秉,九斗、四分斗之一,
中禾一秉,四斗、四分斗之一,
下禾一秉,二斗、四分斗之三。
有三捆上等穀物,兩捆中等穀物,一捆下等穀物,共39斗;有兩捆上等,三捆中等,一捆下等,共34斗;有一捆上等,兩捆中等,三捆下等,共26斗。分別找出上、中、下等穀物的數量。
方程術曰,置上禾三秉,中禾二秉,下禾一秉,實三十九斗,於右方。中、左禾列如右方。
質量 | 右行 | 中行 | 下行 |
上禾 | |||
中禾 | |||
下禾 | |||
實 |
以右行上禾遍乘中行而以直除。又乘其次,亦以直除。然以中行中禾不盡者遍乘左行而以直除。左方下禾不盡者,上為法,下為實。實即下禾之實。求中禾,以法乘中行下實,而除下禾之實。餘如中禾秉數而一,即中禾之實。求上禾亦以法乘右行下實,而除下禾、中禾之實。餘如上禾秉數而一,即上禾之實。實皆如法,各得一斗。
- 將中列乘以右上角的數字,即3。
- 重複地從中列減去右列,直到中上角的數字為0。
- 將左列乘以右上角的數字,即3。
- 重複地從左列減去右列,直到左上角的數字為0。
- 對中列和左列使用上述消除算法後,矩陣將簡化成三角形狀:
質量 | 右行 | 中行 | 下行 |
上禾 | |||
中禾 | |||
下禾 | |||
實 |
一捆下等穀物的數量= 斗
一捆上等穀物= 斗
一捆中等穀物= 斗
行列式
日本數學家關孝和在《三部抄》的《解伏題之法》中,將線性方程組的系數縱橫寫成方陣的形式,發明了行列式。關孝和還提出了兩種計算行列式的值的方法:逐式交乘法和交式斜乘法。
高次方程
南宋數學家秦九韶將賈憲的增乘開方術推廣,以求解高次方程。右圖為秦九韶解下列四次方程式的程序。
程序:
- 置6262506.25 為實
- 置15245 為上廉
- 置1為益隅
- 上廉超二位,益隅超三位。
- 置商20步
- 以商乘益隅入下廉
- 以下廉乘商生負廉
- 以負廉與正廉相消得正上廉
- 以商乘上廉為方
- 以方乘商除實
- 又以商乘益隅入下廉
- 以下廉乘商生負廉
- 負廉與正廉相消
- 商與上廉生方
- 商隅相乘入下廉
- 商與下廉生負廉
- 負廉與正廉相消
- 商又與隅生下廉
- 下廉三退,隅四退
- 無商(商第二位為0),以上廉併入方,並益隅入下廉
- 益隅並負廉與正方廉相消,命為母
- 約分
得
四元高次方程
- 三元術
今有股弦較除弦和與直積等。只雲勾股較除弦較和與勾同。問弦幾何?
- 答曰:五步。
- 術曰:立天元一為勾,地元一為股,人元一為弦,物元一為開數。
:得到 今式
雲式:
三元式:
三元式與雲式相消,
人天易位 人弦-->天勾
得: 前式
及 後式
相消得
解之得 天勾=5;
人天易位 天勾-->人弦
得弦=五步。
- 四元術
今有股乘五較與弦冪加勾乘弦等。只雲勾除五和與股冪減勾弦同。問黃方帶勾股弦共幾何?
消元,物易天位
解之,
物易天位,得 十四步。
參看
註釋
- ^ 筹算 - 《中国大百科全书》第三版网络版. www.zgbk.com. [2022-10-17]. (原始內容存檔於2022-10-17).
- ^ 錢寶琮 《中國古代分數算法的發展》 《李儼.錢寶琮科學史全集》卷9 392頁
- ^ 吳文俊 《中國古代數學對世界文化的偉大貢獻》 《吳文俊文集》 2頁
- ^ 錢寶琮 《中國古代數學的偉大成就》 《李儼.錢寶琮科學史全集》卷9 383頁
- ^ 新加坡大學教授藍麗蓉:《阿拉伯數字體系起源於中國籌算的證據》,Fleeting Footsteps
- ^ 李約瑟 原著 柯林‧羅南改編《中華科學文明史》卷2 第一章 數學
- ^ Ho Peng Yoke, Li, Qi and Shu p58 ISBN 0-486-41445-0
- ^ Lam Lay Yong, p87-88
- ^ Abu al-Hasan Ahmad ibn Ibrahim al-Uqlidisi, The Arithematics of Al-Uqlidisi, tran. A.S.Saidan, P57 D.Reidel, Boston, USA 1978
- ^ 朱世傑原著 李兆華校正 《四元玉鑒》 153頁 ISBN 978-7-03-020112-6
- ^ 《李儼錢寶琮科學史全集》 第一卷 李儼 《中國算學史》 第435-439頁
參考文獻
- 吳文俊主編 《中國數學史大系·第四卷》第一章 《孫子算經》 第三節 算籌與籌算 北京師範大學出版社 ISBN:7303049258
- 《九章算術白話譯解》 重慶大學出版社 ISBN 7-5624-3848-X
- 李約瑟 原著 柯林·羅南改編《中華科學文明史》卷2 第一章 數學
- Lam Lay Yong(蘭麗蓉) Ang Tian Se(洪天賜), Fleeting Footsteps, World Scientific ISBN 981-02-3696-4
- Ho Peng Yoke, Li, Qi and Shu ISBN 0-486-41445-0