籌算

籌算（Rod calculus）是漢字文化圈古代使用算籌進行十進位制計算的程序。

## 歷史

籌算具體出現時間已然不可考，但根據典籍記錄和考古發現，至少在戰國初年籌算已然出現。它使用中國商代發明的十進位制計數，可以很方便地進行四則運算以及乘方，開方等較複雜運算，並可以對零、負數和分數作出表示與計算。

籌算在公元6世紀由中國傳入韓國和日本。七世紀的印度數學，分數中的分子在上，分母在下，與中國同，分數的乘除法也和《九章算術》相同。古印度數學絕大部分來自中國。一直到被珠算完全取代之前，籌算是東亞古代進行日常計算的方法，算籌是東亞古代數學家研究數學時常用的計算器具，是東亞古代各種重要數學發明的基礎，開創了中國以至東亞古代以計算為中心的機械化數學體系，與古希臘以邏輯推理為中心的數學體系有所不同；機械化的數學體系是一千多年世界數學的主流。

## 影響

籌算的乘除法傳入印度，成為土盤演算法。9世紀初至10世紀，又經印度傳入阿拉伯,這時期的阿拉伯闡述印度數學的數學著作，諸如《印度算術原理》，其土盤算式雖然用阿拉伯數字表示，但其十進位制概念，分數的表示法，以及加、減、乘、除四則運算的計算方法，和中國的籌算雷同，有的還用空格表示「0」，和籌算一模一樣。有學者認為，中國古代的籌算，通過絲綢之路傳入印度、阿拉伯，促成印度－阿拉伯數字體系。

## 數字表示

算籌數系是世界上唯一只用一個符號的方向和位置的組合，表示任何十進位數字或分數的系統。

單位數字：將籌棍豎排一根棍表示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；為了避免鄰位誤讀，每隔一位交替使用豎碼橫碼，即個位豎碼，十位用橫碼，百位用豎碼，千位用橫碼，如此類推，就可以完全避免誤讀了。

### 零的表示

中國自有籌算起就有「0」，即以空位表示「0」。籌算中的零是位置零和運算結果的零，沒有特定符號，這和阿拉伯數字專有一個符號0不同。

### 正負數

宋代數學家用紅色籌碼代表正數，用黑色籌碼代表負數，也有一律用黑色籌碼，但在數字最後一位加一根斜棍標示為負數。

## 小數

孫子算經的度量衡已有十進位制概念，如尺、寸、分、厘、毫、絲、忽。七丈一尺二寸三分四厘五毫六絲，用現代表示方法為71.23456尺，用算籌排為

其中為十位數，為個位數，為十分之一位等等。

南宋秦九韶在《數書九章》中將小數推廣到非度量衡，如

1.1446154日

表示為：

日

即在個位數1下記一「日」字。

## 加法

算籌本身已經包含加法，因此用算籌進行加法運算十分方便快捷。籌算加法與阿拉伯數字加法最大的不同，在於算籌本身具有可加性，用算籌進行加法運算，只須機械地搬動籌棍，即可進行運算，不需要另外背誦加法表，這與阿拉伯數字不同，不可能將阿拉伯數字1和2機械地疊成3字，2和3疊成一個5字。

左圖表示$3748+289$的運籌步驟：

- 將被加數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.:範例圖片是一邊乘一邊加而不是像文字描述所說乘完後才加。

## 除法

左圖為計算$\frac{309}{7}$的演示步驟：

- 將被除數309放中排，除數7放下排，上排留空。
- 將除數7右移一位，變橫碼，用九九表和減法運算30÷7：30除7得4剩2。
- 商4擺上排，2留中排。
- 將除數7右移一位，改豎碼；再用九九表和減法運算29÷7：29除7得4餘1。
- 商4放上排，除數不撤，最後得商44，餘數1，故$\frac{309}{7}=44\frac{1}{7}$。

孫子除法在9世紀初最早由花拉子米從印度介紹到阿拉伯國家，十世紀阿拉伯數學家阿爾烏幾里德《印度的算術》敘述的早期除法和十一世紀波斯數學家伊本·拉班《印度算術原理》敘述的除法，也是不折不扣的孫子除法：

- 同樣上、中、下三行的布列格式
- 同樣上為商數，中為被除數，下為除數
- 同樣的左邊對齊
- 同樣的自左往右運算
- 同樣算一步後將除數右移一位
- 同樣除數後面以空格代0
- 同樣的商和餘數，以三行格式表示。

## 分數

用籌算進行除法運算時，如留有餘數，則必須保留除數和餘數，形成一對籌碼，一在上一在下。劉徽《九章算術注》中，在上的籌稱「實」，為在下的籌稱為「法」：《孫子算經》中，在上的籌稱為「子」，（分子），而在下的稱為「母」（分母）。如右圖一對籌碼一在上一在下，1是子，7是母，構成分數 $\frac{1}{7}$。

這種籌算分數的表示法，在9世紀由花拉子米介紹到阿拉伯國家。

### 分數加法

$$\frac{1}{3} + \frac{2}{5}$$

- 將分子1，2 擺放在算籌板的左邊，將分母3，5擺放在算籌板的右邊
- 將分子與分母交叉互乘，將所得的積代替相應的分子
- 將分母相乘，將乘積擺放在算籌板右下方
- 將新的分子相加，其和擺放在算籌板右上方
- 結果：$\frac{1}{3} + \frac{2}{5}$=$\frac{11}{15}$

### 分數減法

$$\frac{8}{9} -\frac{1}{5}$$

- 將分子8，1的算籌擺放在算籌板的左邊
- 將分母9，5 擺放在算籌板的右邊
- 分子分母互乘，以乘積代替相應的分子。
- 分母相乘，其積擺放在算籌板右下方
- 新分子相減為差，將差數擺放在算籌板右上方
- 結果： $\frac{8}{9} -\frac{1}{5}$ = $\frac{31}{45}$

### 分數乘法

$$3\frac{1}{3} \times 5\frac{2}{5}$$

- 將$3\frac{1}{3}$ 和$\frac{2}{5}$在算籌板上布置成商、實、法形式。
- 商乘法加入實。3*3 + 1=10； 5*5 + 2=27
- 實乘實：10*27=270
- 法乘法：3*5=15
- 實除法:$3\frac{1}{3} \times 5\frac{2}{5}$=18

此演算法的實質是將帶分數先化成假分數，再行乘法。

### 分數除法

- 將分數在算籌板上以商、實、法的三行格式排列。
- 將商乘法，併入實。
- 將除數分數的分子、分母互換。
- 分子、分母相乘。
- 約分。

此演算法的實質是將帶分數先化成假分數，並將除數取倒數相乘。

### 最大公約數

九章算術給出求兩個數最大公約數的方法，即輾轉相除，以至最後餘數相等，即為最大公約數。

左圖為求 $\frac{32450625}{59056400}$ 的最大公約數，並進行約分。

最大公約數為25，約分得$\frac{1298025}{2362256}$。

### 分數內插法

何承天發明名為調日法的分數內插法，反覆將弱值分數與強值分數的分子分母相加已求得更佳的近似值。祖沖之用此法求的著名的圓周率約率$\frac{22}{7}$和密率$\frac{355}{113}$

## 開平方根

孫子算經卷中：「今有積，二十三萬四千五百六十七步。問：為方幾何？答曰：四百八十四步九百六十八分步之三百一十一。

術曰：置積二十三萬四千五百六十七步，為實，次借一算為下法，步之超一位至百而止。上商置四百於實之上，副置四萬於實之下。下法之商，名為方法；命上商四百除實，除訖，倍方法，方法一退，下法再退，復置上商八十以次前商，副置八百於方法之下。下法之上，名為廉法；方廉各命上商八十以除實，除訖，倍廉法，從方法，方法一退，下法再退，復置上商四以次前，副置四於方法之下。下法之上，名曰隅法；方廉隅各命上商四以除實，除訖，倍隅法，從方法，上商得四百八十四，下法得九百六十八，不盡三百一十一，是為方四百八十四步九百六十八分步之三百一十一」。

右圖為籌算開方 $\sqrt{234567}\approx484\tfrac{311}{968}$。

演算法如下：

- 把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。
- 答案：$\sqrt{234567}\approx484\tfrac{311}{968}$

十一世紀波斯數學家伊本·拉班的開平方術，與孫子基本上相同，唯最後分母加1，所以平方根的小數比真值略小，孫子演算法所得，則比真值略大。

## 開立方根

九章算術卷第四《少廣》有數道開立方題，其開立方術為後世開立方術的基礎。

〔二二〕又有積一百九十三萬七千五百四十一尺、二十七分尺之一十七。問為立方幾何？

答曰：一百二十四尺、太半尺。

開立方術曰：置積為實。借一算步之，超二等。議所得，以再乘所借一算為法，而除之。除已，三之為定法。復除，折而下。以三乘所得數置中行。復借一算置下行。步之，中超一，下超二等。復置議，以一乘中，再乘下，皆副以加定法。以定法除。除已，倍下、並中從定法。復除，折下如前。開之不盡者，亦為不可開。若積有分者，通分內子為定實。定實乃開之，訖，開其母以報除。若母不可開者，又以母再乘定實，乃開之。訖，令如母而一。

$$\sqrt[3]{1937541\frac{17}{27}}=124\frac{2}{3}$$

北宋數學家賈憲發明增乘開立方法和遞增三乘開四次方術。

右圖為賈憲增乘開立方解九章算術第四卷少廣〔一九〕

今有積一百八十六萬八百六十七尺。問為立方幾何？

答曰：一百二十三尺。

$\sqrt[3]{1860867}=123$

## 聯立方程

九章算術 卷第八 方程：

〔一〕今有上禾三秉，中禾二秉，下禾一秉，實三十九斗；上禾二秉，中禾三秉，下禾一秉，實三十四斗；上禾一秉，中禾二秉，下禾三秉，實二十六斗。問上、中、下禾實一秉各幾何？

答曰：

上禾一秉，九斗、四分斗之一。

中禾一秉，四斗、四分斗之一。

下禾一秉，二斗、四分斗之三。

有三捆上等穀物，兩捆中等穀物，一捆下等穀物，共39斗；有兩捆上等，三捆中等，一捆下等，共34斗；有一捆上等，兩捆中等，三捆下等，共26斗。分別找出上、中、下等穀物的數量。

方程術曰，置上禾三秉，中禾二秉，下禾一秉，實三十九斗，於右方。中、左禾列如右方。

質量｜右行｜中行｜下行

上禾

中禾

下禾

實

以右行上禾遍乘中行而以直除。又乘其次，亦以直除。然以中行中禾不盡者遍乘左行而以直除。左方下禾不盡者，上為法，下為實。實即下禾之實。求中禾，以法乘中行下實，而除下禾之實。餘如中禾秉數而一，即中禾之實。求上禾亦以法乘右行下實，而除下禾、中禾之實。餘如上禾秉數而一，即上禾之實。實皆如法，各得一斗。

- 將中列乘以右上角的數字，即3。
- 重複地從中列減去右列，直到中上角的數字為0。
- 將左列乘以右上角的數字，即3。
- 重複地從左列減去右列，直到左上角的數字為0。
- 對中列和左列使用上述消除演算法後，矩陣將簡化成三角形狀：

質量｜右行｜中行｜下行

上禾

中禾

下禾

實

一捆下等穀物的數量=$\frac{99}{36}=2\frac{3}{4}$斗

一捆上等穀物=$9\frac{1}{4}$斗

一捆中等穀物=$4\frac{1}{4}$斗

## 行列式

日本數學家關孝和在《三部抄》的《解伏題之法》中，將線性方程組的係數縱橫寫成方陣的形式，發明了行列式。關孝和還提出了兩種計算行列式的值的方法：逐式交乘法和交式斜乘法。

## 高次方程

南宋數學家秦九韶將賈憲的增乘開方術推廣，以求解高次方程。右圖為秦九韶解下列四次方程式的程序。

$$-x^4+15245x^2-6262506.25=0$$

程序：

- 置6262506.25 為實
- 置15245 為上廉
- 置1為益隅
- 上廉超二位，益隅超三位。
- 置商20步
- 以商乘益隅入下廉
- 以下廉乘商生負廉
- 以負廉與正廉相消得正上廉
- 以商乘上廉為方
- 以方乘商除實
- 又以商乘益隅入下廉
- 以下廉乘商生負廉
- 負廉與正廉相消
- 商與上廉生方
- 商隅相乘入下廉
- 商與下廉生負廉
- 負廉與正廉相消
- 商又與隅生下廉
- 下廉三退，隅四退
- 無商（商第二位為0），以上廉併入方，並益隅入下廉
- 益隅並負廉與正方廉相消，命為母
- 約分

得$x=20\frac{1298025}{2362256}$

## 四元高次方程

籌算的應用在朱世傑《四元玉鑒》中的四元術到達高峰。

三元術

今有股弦較除弦和與直積等。只雲勾股較除弦較和與勾同。問弦幾何？

答曰：五步。

術曰：立天元一為勾，地元一為股，人元一為弦，物元一為開數。

得到今式$-y-z-y^2\times x-x+xyz=0$

太

雲式：$-y-z+x-x^2+xz=0$

三元式：$y^2-z^2+x^2=0;$

太

三元式與雲式相消。

人天易位 人弦-->天勾

得：

前式$-x-2x^2+y+y^2+xy-xy^2+x^2y$

太

及後式 $-2x-2x^2+2y-2y^2+y^3+4xy-2xy^2+xy^2$

太

相消得$$x^4-6x^3+4x^2+6x-5=0$$

解之得 $x=5$ 天勾=5。

人天易位 天勾-->人弦

得弦=五步。

四元術

今有股乘五較與弦冪加勾乘弦等。只雲勾除五和與股冪減勾弦同。問黃方帶勾股弦共幾何？

答曰：一十四 步。

草曰：立天元 一為勾，地元一為股，人元一為弦，物元一為開數。得四元方程

1： $-2\times y+x+z=0$;

2： $-y^2\times x+4\times y+2\times x-x^2+4\times z+x\times z=0$;

3： $x^2+y^2-z^2=0$;

4： $2\times y-w+2\times x=0$;

消元，物易天位

$$4x^2-7x-686=0$$

解之。

物易天位，得 十四步。

## 參考文獻

- 吳文俊主編 《中國數學史大系·第四卷》第一章 《孫子算經》第三節 算籌與籌算 北京師範大學出版社 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