运筹帷幄——我国古代的高超算术
? 歡迎來到神奇的01世界 ?
說到算籌,想必很少有人聽聞。雖然史上國外(日本、印度、巴基斯坦等)也有過這塊腰椎間盤,但還是要數中國的最突出。
圖片來自網絡先感性認識一下
算籌最早出現于商周,在算盤被發明之前,堪稱世界上最先進的計算工具。你可能沒聽說過,但「運籌帷幄」、「觥籌交錯」這些朗朗上口的成語皆出于此。而這所謂先進的計算工具,竟是一根根小小的棍子(長約十幾厘米)。棍子的材料多樣,竹子、木頭、象牙、獸骨、金屬、玉器應有盡有,凡能削成棍狀的東西皆可為之。當然我們現今所能看到的算籌,多是耐腐蝕材質的。
戰國骨籌(圖片來自http://www.cnr.cn/sxpd/jd/20170720/t20170720_523860563.shtml#3) 戰國銅籌(圖片來自http://bbs.chcoin.com/show-6865738.html?authorid=190510) 西漢鉛籌(圖片來自http://blog.sina.com.cn/s/blog_4551bbe8010105vv.html) 西漢牙籌(截圖來自《如果國寶會說話 第二季》第20集)像我們隨身攜帶手機一樣,懂數學的古人通常會隨身佩戴絲布制成的算袋,里頭放著一把算籌。走在路上碰到欠債不還的,一言不合就能掏出來跟他算賬……
圖片來自網絡傳說秦始皇也經常佩帶絲質的算袋。一次東游,他把算袋扔進了海里,變化成烏賊,因此烏賊也有算袋魚之稱。
到了唐朝,更有法律規定文武百官必須佩帶算袋。可見在彼時,算籌不單單是一種計算工具,更是文化和身份的象征。
算籌示數
史上第一本記述算籌的專著是一千五百年前的《孫子算經》,作者不詳(跟孫武孫臏沒有半毛錢關系)。
算籌用紅棍表示正數,黑棍表示負數,有縱橫兩種「布棍」模式,縱式用豎棍表示1、橫棍表示5,橫式反之:
| 縱式 | |||||||||
| 橫式 |
| 縱式 | |||||||||
| 橫式 |
0比較特殊,用留空表示。
對于不同的數位,縱式、橫式是相間使用的,《孫子算經》如是描述:
凡算之法,先識其位。一縱十橫,百立千僵,千十相望,萬百相當。
個位上的數字用縱式,十位上的用橫式,百位上再用縱式,千位再用橫式,以此類推。這樣奇怪的做法是考慮到0的存在,比如2018:
| 橫式 | 縱式 | 橫式 | 縱式 |
畫了表格,才凸顯出0的空位。但在實際使用中,尤其在書寫(謄抄算法)時,空位很容易被忽略,有了縱橫交錯的做法,即使沒有空位,2和1挨在一起,也不會把2018當成218。
當然這也存在一個問題,比如20018就有被當成218的可能。人們會在「布籌」的計算板上(counting board)劃好棋盤一樣的表格,或者用圍棋子來表示0,以避免這個問題。在書寫方面,則引入了圓圈符號——〇。即便如此,縱橫交錯的形式還是作為經典被始終沿用。
籌算
使用算籌的方法叫籌算,兩個字顛倒一下,好比牙刷的使用叫刷牙,不得不感慨中文的博大精深。由于人在閱讀時會無意識地忽略文字順序,所以下文所提「算籌」、「籌算」還請細細分清。
籌算的能力強大,除了最基本的加減乘除,還能進行乘方和開方,納尼!乘方?開方?!是的,你沒有看錯,而且遠不止這些,籌算甚至能解線性方程(組)、求最大公約數和最小公倍數、解同余式組、造高階查分表等等,其所用到的負數、小數、分數等較為抽象的數字概念,比西方早出一百年甚至好幾百年。
公元480年左右,南北朝數學家祖沖之使用籌算將圓周率精確到小數點后7位(3.1415926~3.1415927之間),這一精度領先世界近千年,直到15世紀初才被打破。這一計算涉及包括開方在內的130次運算,放到今天,如果不用電子計算設備給你一沓草稿紙,恐怕也很難算準。
除了圓周率,著名的秦九韶算法、剩余定理等高超的古代數學成就,都是靠籌算得到的。
其實算籌本身僅僅提供了一種用棍子表示數字的「書寫」形式,能做如此復雜的計算,得益于古人一代代智慧積累下來的算法口訣,包括沿用至今的九九乘法表。計算過程和現在的「列豎式」十分相似:
6561 ÷ 9(圖片來自維基「Sunzi Suanjing」詞條,請無視它為什么不是紅色……)也許你會覺得,籌算雖然強大,但小木棍的擺放好像并不方便。確實需要進行許多機械式的重復步驟,但可謂孰能生巧,厲害的籌算者有著相當可觀的計算速度,沈括在《夢溪筆談》中描述某壞男人淮南人:
運籌如飛,人眼不能逐。
不知是否有夸張的成分,但參考現在嫻熟的算盤手,基本也能想象其景。
算籌的不足
籌算雖然強大,然而作為一種質樸的計算工具,終有捉襟見肘的時候。同現今計算機軟硬件的相互促進一樣,諸多算法為適應籌算模式而生,而算籌本身卻漸漸對復雜的算法力不從心——譬如重因法、身外加減法、求一法,聽都沒聽說過,靠一堆小棍棍已經難以應對。加之,籌算時所用算籌數量龐大,表示單個數就可能用到5根,數字越多越繁亂,三國時期魏國人管輅的《管氏地理指蒙》一書甚至以籌喻亂:
形如投算,憂愁紊亂。
而且起初的算籌長約14厘米,擺個6就要占200平方厘米,可以想象,做稍微復雜一點的運算時得放多大一塊面積。即使到宋元間改良至1~3寸(3~10cm),面對大計算量的問題依然不好使。宋代馬永卿《懶真子》一書就有言:
卜者出算子約百余,布地上,幾長丈余。
解道數學題要鋪滿整個客廳,還得滿地爬,不僅是腦力活,更是體力活,搞不好還容易閃著腰啊……
算籌,終被算盤取代。
蘇州碼子
蘇州碼子,也叫草碼,花碼、菁仔碼、番仔碼、商碼,是我國在阿拉伯數字傳來之前廣泛使用的一種數字形式,是唯一一種現存的書面算籌變種,在港澳街市、舊式餐廳、中藥房仍有一點碰到的小概率。
| 〡 | 〢 | 〣 | 〤 | 〥 | 〦 | 〧 | 〨 | 〩 |
你們見過嗎?我是可惜沒有見過。
有了這條冷知識,以后出門一定得好好留意,指不定走進哪家餐館,看到的價目表是醬紫的:
圖片來自維基「Suzhou numerals」詞條正當小伙伴們眾臉懵逼之時,你一頓瀟灑解讀,甭提多有面子!
參考文獻
- 孫燕群. 計算機史話[M]. 青島: 中國海洋大學出版社, 2003.
- N.A.阿波京, JI.E.梅斯特洛夫. 計算機發展史[M]. 上海: 上海科學技術出版社, 1984.
- 劉博. 計算工具發展研究[D]. 遼寧師范大學, 2015.
- 吳為平, 嚴萬宗. 從算盤到電腦[M]. 長沙: 湖南教育出版社, 1986.
- 中央廣播電視總臺, 國家文物局. 如果國寶會說話 第二季[EB/OL].
- 陳厚云, 王行剛. 計算機發展簡史[M]. 北京: 科學出版社, 1985.
- Wikipedia. Counting rods[EB/OL].
- 佚名. 孫子算經[M].
- 逸之. 01改變世界:沒有計算器的日子怎么過——手動時期的計算工具[EB/OL].
- Wikipedia. Sunzi Suanjing[EB/OL].
- Wikipedia. Suzhou numerals[EB/OL].
- 百度百科. 蘇州碼子[EB/OL].
總結
以上是生活随笔為你收集整理的运筹帷幄——我国古代的高超算术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iPad自带邮箱添加网易企业邮箱
- 下一篇: PBX