池奕言
在各種文明的算術(shù)發(fā)展過(guò)程中,乘法計(jì)算的產(chǎn)生至關(guān)重要,它是人類從簡(jiǎn)單加減法的數(shù)學(xué)邏輯邁向復(fù)雜抽象計(jì)算的關(guān)鍵一步。整數(shù)、負(fù)數(shù)、有理數(shù)和實(shí)數(shù)的乘法都是由這個(gè)基本定義泛化而來(lái)的。(正數(shù))乘法也可被視為在面積計(jì)算中對(duì)其邊長(zhǎng)給定的矩形區(qū)域的面積。
一個(gè)文明可以相對(duì)比較容易地發(fā)展出計(jì)數(shù)方法和加減法運(yùn)算,但要想創(chuàng)造一套簡(jiǎn)單可行的乘法計(jì)算方法卻不那么容易。中國(guó)古代計(jì)算用“算籌”不用筆,籌算可以改變形態(tài)橫豎俱可,可以左至右運(yùn)算。

籌算乘法分三層:上位是被乘數(shù),中位是積,下位是乘數(shù)。先由乘數(shù)的最大一位去乘被乘數(shù),再用第二位數(shù)去乘,兩次之積對(duì)應(yīng)位上的數(shù)相加,乘完為止[1]。如算49乘36的步驟,結(jié)果是1764。
使用的算籌計(jì)算看似簡(jiǎn)便,實(shí)際上這需要事先掌握九九乘法口訣表;考慮到古代文明的基礎(chǔ)教育水平,這種計(jì)算并不完美。我國(guó)現(xiàn)代教育中使用的豎式乘法筆算方式也需要使用到九九乘法口訣表。
其他國(guó)家的乘法計(jì)算方式都一樣嗎?在數(shù)學(xué)的發(fā)展過(guò)程中,不同的文明創(chuàng)造出了哪些不同的乘法計(jì)算方法,其中有些計(jì)算方法甚至可以完全拋棄乘法口訣表(包括中國(guó)的計(jì)算方法)。

中國(guó)明代算書(shū)《指明算法》記載了中國(guó)的古代乘法計(jì)算方法,名字叫“鋪地錦”,英文被稱作“The Chinese method of multiplication”。李培業(yè)教授在《數(shù)學(xué)史研究》中認(rèn)為“鋪地錦”是我國(guó)自創(chuàng)的乘法計(jì)算方法。鋪地錦歌訣為“寫算鋪地錦為奇,不用算盤數(shù)可知。法實(shí)相呼小九數(shù),格行寫數(shù)莫差池。記零十進(jìn)于前位,逐位數(shù)數(shù)亦如之。照式畫(huà)圖代乘法,厘毫絲忽不須疑”[2,3]。
如果使用鋪地錦方法計(jì)算49乘36的步驟,結(jié)果是1764。
計(jì)算步驟如下。
1.第一步:制作一個(gè)2×2的表格,使用反斜線將每個(gè)格子一分為二,把被乘數(shù)49寫在格子圖的上面,乘數(shù)36寫在格子圖的右面。
2.第二步:將上面的數(shù)字和右邊的數(shù)字相乘,如左上的格子填寫3×4=12(第二步-1);同理分別填寫好其他格子。
3.第三步:把表格中同一斜線里面的數(shù)全部加起來(lái),寫在格子圖的左面和下面。
4.第四步:將進(jìn)位的數(shù)字加到其左邊或者上面的位數(shù)。
鋪地錦計(jì)算方法雖然也需要掌握乘法口訣表,但是計(jì)算難度要比算籌法簡(jiǎn)單很多,而且比豎式法更加不容易出錯(cuò)。對(duì)于位數(shù)較多或者帶小數(shù)數(shù)字的乘法計(jì)算也適用。
通過(guò)乘法分配率,“鋪地錦”算法可以把復(fù)雜的多位值的乘法計(jì)算簡(jiǎn)化為個(gè)位數(shù)乘法和簡(jiǎn)單的加法計(jì)算,而乘法口訣表的普及使得個(gè)位數(shù)乘法相對(duì)容易,這種算法的思路和唐朝以來(lái)不斷計(jì)算改革和簡(jiǎn)化計(jì)算,尋找和使用巧妙的計(jì)算方法思路是一脈相承的[4,5]。

眾多周知,現(xiàn)在國(guó)際通用的阿拉伯?dāng)?shù)字是由古印度
人發(fā)明的。最早的印度數(shù)字出現(xiàn)在公元前2500年左右的哈拉帕文化中。公元733年,印度數(shù)字傳入阿拉伯,阿拉伯人將其進(jìn)行了改進(jìn),后來(lái)還將印度數(shù)字傳入歐洲,當(dāng)時(shí)歐洲人誤認(rèn)為這種數(shù)字是阿拉伯人發(fā)明的,稱之為“阿拉伯?dāng)?shù)字”。
早在公元前2000年吠陀時(shí)期,印度人就對(duì)數(shù)學(xué)有很高的成就,當(dāng)時(shí)希臘人能夠表示最大的數(shù)字是10,而印度人可以表示到10。12世紀(jì)之后,印度人使用“格子乘法”,格子乘法的起源在哪里尚無(wú)定論,印度也許就是格子乘法的發(fā)源地[6]。
如果使用印度格子乘法計(jì)算49×36的步驟,結(jié)果是1764。

計(jì)算步驟如下。
1.第一步:把被乘數(shù)49分成兩塊線條;左邊4條,右邊9條。
2.第二步:把乘數(shù)36以垂直交叉方向分成兩塊線條,左邊3條,右邊6條。
3.第三步、第四步:計(jì)算4個(gè)區(qū)域的交叉點(diǎn)個(gè)數(shù)。
4.第五步:將區(qū)域2和區(qū)域3的數(shù)字相加。
5.第六步:從右往左進(jìn)行進(jìn)位相加。
印度格子乘法方法簡(jiǎn)單易懂,甚至不需要掌握乘法口訣表也可以使用,是一種適用文化程度較低的地區(qū)的簡(jiǎn)便方法,同時(shí)日本也在使用類似方式計(jì)算乘法。
九九乘法口訣表有著非常鮮明的遞推規(guī)律:9×1=9,9×2=18,9×3=27,…,9×9=81。不難發(fā)現(xiàn),隨著乘數(shù)的遞增,積的十位數(shù)字也依次遞增,且比乘數(shù)減1,而個(gè)位數(shù)字依次遞減,且積的兩位數(shù)字之和都是9。舉例乘數(shù)為5的乘法加以說(shuō)明:9×5=(10-1)×5=50-5=45,不難看岀,積為50-5=45,其十位數(shù)字4一定比乘數(shù)減1,而個(gè)位數(shù)字5與乘數(shù)5之和為10,因此,積的兩位數(shù)字之和恒為9。
印度對(duì)九九乘法口訣表進(jìn)行了改進(jìn),升級(jí)為十九超級(jí)乘法表,可以大大縮減計(jì)算時(shí)間,超級(jí)乘法口訣表是從1到19[7]。

那么從11×11到19×19,印度人是怎樣記憶超級(jí)乘法口訣的呢?把被乘數(shù)與乘數(shù)的個(gè)位數(shù)字加起來(lái);將這一步的得數(shù)乘以10;把被乘數(shù)、乘數(shù)的個(gè)位數(shù)字乘起來(lái);將前兩步的得數(shù)加起來(lái),所得的結(jié)果就是所求的積。


超級(jí)乘法口訣甚至可以將其升級(jí)為99×99的乘法口訣表,從21×21到29×29、31×31到39×39,…,91×91到99×99,也使用類似的算法。以63×65=4095加以說(shuō)明:63×65=(63+5)×60+3×5=4080+15=4095。
古埃及的乘法運(yùn)算不需要大量的口訣背誦,只要知道翻倍乘法就可以了,即乘2乘法。以11×16為例,對(duì)被乘數(shù)11不停乘以2(11×2,11×4,11×8,…)直至乘到數(shù)字16,得到結(jié)果176 [8]:

如果乘數(shù)不是2的冪,怎么計(jì)算呢?使用古埃及的乘法運(yùn)算法計(jì)算49乘36為例。被乘數(shù)49翻倍,直到得出翻倍次數(shù)32,翻倍次數(shù)不要超過(guò)乘數(shù),如果把32翻倍64就會(huì)超過(guò)36。同時(shí)因?yàn)?6比32大,找出那些與32相加得36的翻倍次數(shù),然后把翻倍次數(shù)相對(duì)應(yīng)的數(shù)字相加(196和1568),得到結(jié)果1764。計(jì)算過(guò)程步驟如下。

1.第一步:把被乘數(shù)49翻倍。
2.第二步:把乘數(shù)36拆分成翻倍次數(shù)之和36=32+4。
3.第三步:將對(duì)應(yīng)的翻倍結(jié)果相加得196+1568=1764。
古埃及乘法不同于中國(guó)乘法計(jì)算,使用中國(guó)乘法計(jì)算的前提是必須掌握乘法口訣表,古埃及數(shù)學(xué)使用了類似二進(jìn)制的乘法運(yùn)算方法。古埃及人意識(shí)到任何一個(gè)數(shù)都可以表示為若干個(gè)不同的2的冪的和,這其實(shí)和計(jì)算機(jī)系統(tǒng)的二進(jìn)制的計(jì)算是有著相同原理的[9,10]。
無(wú)獨(dú)有偶,古代俄羅斯使用類似的一種乘法計(jì)算,將被乘數(shù)逐次減半,遇到奇數(shù)則減1后再減半,同時(shí)乘數(shù)依次加倍;找出所有奇數(shù)數(shù)字,其對(duì)應(yīng)的數(shù)之和就是乘法結(jié)果。這個(gè)做法與古埃及的算術(shù)法相當(dāng)類似,但看起來(lái)更奇特一些。使用俄羅斯的乘法運(yùn)算法計(jì)算49乘36,計(jì)算過(guò)程如下表。

挑出減半后是奇數(shù)的數(shù)字(49,3和1),將其對(duì)應(yīng)的數(shù)字相加即可(36+576+1152=1764)。
在古代的兩河流域,人們使用粘土制成泥板,其上用楔形文字書(shū)寫。現(xiàn)存有數(shù)以百計(jì)的兩河數(shù)學(xué)文獻(xiàn)在泥板上保存下來(lái),這一時(shí)期已發(fā)展出成熟的數(shù)字體系。在古巴比倫的基礎(chǔ)教育中,一個(gè)重要的組成部分是記憶大量倒數(shù)表(不是今天理解的倒數(shù))和乘法表,同時(shí)需要依靠抄寫來(lái)輔助記憶。從現(xiàn)有的泥板材料可以看出,學(xué)習(xí)算術(shù)有固定的次序和內(nèi)容,構(gòu)造倒數(shù)表是其中的一步,同樣倒數(shù)表也可以用于乘法。
六十進(jìn)制的使用為古巴比倫數(shù)學(xué)的乘法運(yùn)算發(fā)展帶來(lái)了很大的障礙,因?yàn)槿绻吵朔谠E表的話,至少也得背一千多項(xiàng)。所以古巴比倫人利用表格代替乘法口訣表。這些計(jì)算有關(guān)的表格可能用于學(xué)習(xí)時(shí)的背誦,也可能用于實(shí)際的換算或計(jì)算,是古巴比倫人計(jì)算的重要輔助工具。
這塊泥板給出了形如60/N的整數(shù)的六十進(jìn)制展開(kāi),但是還未使用分?jǐn)?shù)概念。其上的文字可釋讀為:
60的2分之一等于30;其3分之一等于20;其4分之一等于15;其5分之一等于12;其6分之一等于10;其7又1/2分之一等于 8;其8分之一等于7又30;其10減1分之一等于 6又40;其12分之一等于 5……
由于古巴比倫采用六十進(jìn)制,這樣的一個(gè)列表相當(dāng)于倒數(shù)表。實(shí)際應(yīng)用這些表格進(jìn)行計(jì)算時(shí)是帶計(jì)量單位的,這些六十進(jìn)制數(shù)字本身沒(méi)有絕對(duì)位值,也就是說(shuō)乘積等于60的任何冪次的兩個(gè)數(shù)就互為倒數(shù)。如第一行“60的2分之一等于30”,則2與30互為倒數(shù),因2×30 =60。古巴比倫的倒數(shù)表里所有的數(shù)都是精確的小數(shù),在六十進(jìn)制中都是有限小數(shù)。需要計(jì)算乘法時(shí),古巴比倫人就去查詢表格從而得到結(jié)果,通過(guò)大量背誦和記錄來(lái)避免乘法計(jì)算是古巴比倫的方法[10,11]。
碰到無(wú)限小數(shù)時(shí),他們會(huì)用取近似值的方法來(lái)解決。例如,古巴比倫人會(huì)通過(guò)1/13=1×(1/13)=7×(1/91)≈7×(1/90)=7×(40/3600)=(7×40)/3600來(lái)計(jì)算1/13的值。那個(gè)40就是查倒數(shù)表查出來(lái)的。

乘法的計(jì)算方法體現(xiàn)了古人的數(shù)學(xué)智慧。一個(gè)乘法計(jì)算方式有如此多的方法,可見(jiàn)數(shù)學(xué)的魅力所在。在各種計(jì)算方法中,各國(guó)采用了不同的進(jìn)制,中國(guó)、印度采用了十進(jìn)制,古巴比倫采用了六十進(jìn)制,古埃及采用的方式接近于二進(jìn)制。
中國(guó)的“鋪地錦”計(jì)算方法,雖然需要背誦乘法口訣表,但是其清晰的計(jì)算結(jié)構(gòu)可以減少計(jì)算差錯(cuò),同時(shí)也可以高效地用于計(jì)算多位數(shù)和小數(shù),和我國(guó)常用的計(jì)算工具“算盤”計(jì)算方法的思路一脈相承。
印度采用的進(jìn)制與我國(guó)相同,采用十進(jìn)制,雖然畫(huà)圖較為麻煩,遇上8,9這樣的大數(shù)畫(huà)起來(lái)比較費(fèi)時(shí)間;用于1,2這樣的小數(shù)字,數(shù)起交叉點(diǎn)來(lái)還是比較簡(jiǎn)單的,而且因?yàn)椴恍枰痴b乘法口訣表適用于教育程度較低的地區(qū)。同時(shí),印度19超級(jí)乘法表能夠節(jié)約大量的時(shí)間,也是一個(gè)很高效的計(jì)算方法。
古埃及采用的方式接近于二進(jìn)制,古埃及人意識(shí)到任何一個(gè)數(shù)都可以表示為若干個(gè)不同的2的冪的和。這其實(shí)和計(jì)算機(jī)系統(tǒng)二進(jìn)制的定義是如出一轍的。這個(gè)方法不用背誦也不需要畫(huà)圖,僅僅需要掌握乘2的簡(jiǎn)單乘法,乘2的計(jì)算方法又可以簡(jiǎn)化成加法,受到基礎(chǔ)加減法算術(shù)教育的人民就可以進(jìn)行乘法運(yùn)算。
古巴比倫采用六十進(jìn)制的方法,60過(guò)大很容易出錯(cuò),為乘法運(yùn)算發(fā)展帶來(lái)了很大的障礙。但是古巴比倫對(duì)于無(wú)限小數(shù)和倒數(shù)的認(rèn)知,為我們打開(kāi)了數(shù)學(xué)新世界的大門。古巴比倫人把除以一個(gè)數(shù)看作是乘以它的倒數(shù),利用查找倒數(shù)表可以很方便地實(shí)現(xiàn)乘除法的換算。這種方法將計(jì)算轉(zhuǎn)化成查找,和現(xiàn)代數(shù)學(xué)中利用對(duì)數(shù)表計(jì)算異曲同工。
總之,各種算法各有優(yōu)點(diǎn),在那些充滿聰明才智的古代文明頭腦中,總有意想不到的驚喜,為現(xiàn)在科技的快速發(fā)展做出了巨大的貢獻(xiàn)。
(作者單位:溫州第二高級(jí)中學(xué))
[1]李紅彥. 有趣的算籌. 數(shù)學(xué)小靈通(1-2年級(jí)版), 2020(12): 41-42.
[2]李林明. 古人怎樣算乘法.數(shù)學(xué)小靈通(3-4年級(jí)版), 2014(04): 34, 35, 45.
[3]梅艷珍. 賞析古代乘法算式“鋪地錦”. 教育實(shí)踐與研究(A), 2011(02): 50-51.
[4]周全中. 鋪地錦乘法的來(lái)龍去脈. 齊魯珠壇, 2000(03): 18-19.
[5]青華道人.舉例說(shuō)明西方“格子乘法”就是中國(guó)的“鋪地錦”寫算法. https://weibo.com/ttarticle/p/show?id=2309404715295246778659
[6]王邵惠子. 古代印度算術(shù)理論研究. 遼寧師范大學(xué)學(xué)報(bào), 2019.
[7]優(yōu)博數(shù)學(xué). 神奇的印度式乘法—古代數(shù)學(xué)智慧介紹. https://baijiahao.baidu.com/s?id=1624184299783266665&wfr=spid er&for=pc
[8]裴莊. 古埃及人獨(dú)創(chuàng)的乘法和除法. 中學(xué)生數(shù)學(xué), 2002(06): 40.
[9]phoenix890209. 知道古埃及人是怎么做乘法的么?https://blog.csdn.net/phoenix890209/article/details/5272487
[10]Matrix67. 沒(méi)有乘法口訣表將會(huì)怎樣: 古巴比倫乘法和古埃及乘法. http://www.matrix67.com/blog/archives/360?replytocom=6406
[11]顧森. 獨(dú)特的古巴比倫數(shù)學(xué). 中學(xué)生數(shù)理化(初中版) (中考版), 2011(12): 21.
關(guān)鍵詞:乘法 古文明 計(jì)算方法 ■