納皮爾的骨頭
納皮爾的骨頭(英語:)是蘇格蘭數學家約翰納皮爾發明的一種用來計算乘法與除法,類似算盤的工具。由一個底座及九根圓柱(方柱)組成,可以把乘法運算轉為加法,也可以把除法運算轉為減法。更為進階的用法也可以開平方根
納皮爾的骨頭在清初传入中国,数学家梅文鼎在《梅氏丛书辑要》中最先介绍納皮爾的骨頭,梅氏称之为“筹算”。后来戴震著作《策算》也叙述了这种算法[1]。
簡介
底座左邊的數字由上而下是1-9。先將之稱為n。
每根圓柱又分為十格,下面九格有自左下而右上的斜線。最上面的格子寫著1-9的數字,姑且稱為k,代表著這根柱子的編號。編號下面的數字則是由k乘上橫排相對應的n得到的,十位數擺左上角,個位數擺右下角。
乘法運算
舉例說明如何用納皮爾的骨頭進行乘法運算。
46785399乘以7
1.把編號4,6, 7,8, 5,3, 9,9的圓柱依序放入底座。
2.如下圖將結果相加即得到乘積(記得要進位)。
46785399乘以96431
1.把編號4,6, 7,8, 5,3, 9,9的圓柱依序放入底座。
2.將46785399乘以9,6, 4,3, 1分別用上述方法一條一條算出來。
3.接著用直式加法把數字加起來。
除法運算
同樣舉例說明。
46785399除以96431
1.把除數(96431)編號的柱子擺入底座。
2.如下圖所示把96431乘以1-9的結果寫出來。
3. 46785399從左邊六位開始看,下面寫上小於467853但最大的96431k。
4.用467853去減96431k(此例中k=4),得到的數字寫下面。
5.把上面的數字(9)移下來,如同長除法般重複進行此動作。
6.最後得到一個比96431還小的數,為餘數。
7.如有需要,可以一直進行除法工作以得到小數點位數。
開平方根
用來開平方根的納皮爾的骨頭會用到第十根柱子,上有三個直排。第一排上有數字1-9的平方,第二排是數字2,4, ...,18,第三排則是1-9。
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | √ | |
---|---|---|---|---|---|---|---|---|---|---|
1 | 0/1 | 0/2 | 0/3 | 0/4 | 0/5 | 0/6 | 0/7 | 0/8 | 0/9 | 0/1 2 1 |
2 | 0/2 | 0/4 | 0/6 | 0/8 | 1/0 | 1/2 | 1/4 | 1/6 | 1/8 | 0/4 4 2 |
3 | 0/3 | 0/6 | 0/9 | 1/2 | 1/5 | 1/8 | 2/1 | 2/4 | 2/7 | 0/9 6 3 |
4 | 0/4 | 0/8 | 1/2 | 1/6 | 2/0 | 2/4 | 2/8 | 3/2 | 3/6 | 1/6 8 4 |
5 | 0/5 | 1/0 | 1/5 | 2/0 | 2/5 | 3/0 | 3/5 | 4/0 | 4/5 | 2/5 10 5 |
6 | 0/6 | 1/2 | 1/8 | 2/4 | 3/0 | 3/6 | 4/2 | 4/8 | 5/4 | 3/6 12 6 |
7 | 0/7 | 1/4 | 2/1 | 2/8 | 3/5 | 4/2 | 4/9 | 5/6 | 6/3 | 4/9 14 7 |
8 | 0/8 | 1/6 | 2/4 | 3/2 | 4/0 | 4/8 | 5/6 | 6/4 | 7/2 | 6/4 16 8 |
9 | 0/9 | 1/8 | 2/7 | 3/6 | 4/5 | 5/4 | 6/3 | 7/2 | 8/1 | 8/1 18 9 |
求出46785399的平方根
1.把46785399分為兩位兩位一組,46 78 53 99。(如果奇數位數,如83559,寫成8 35 59)
2.從最左邊那組,46,開始。找出比這數最小的完全平方數,是在第六橫排上的36。
3.因為是從第六橫排上挑出來的,所以答案的第一位是6。
4.找到第十根柱子上的第六橫排第二直排,12,然後把1跟2的柱子放在底座上。
5.用46減去36得到10,然後把上面下一組的78移到10的右邊。
|
_____________ √46 78 53 99 = 6 36 -- 10 78 |
7.找出比1078還要小但最大的數,在此第八橫排的1024是最大的:
0/8 1/6 6/4 → 1024
8. 8為答案的下一位數,寫在6旁邊,然後把1078減去1024得到54。
|
_____________ √46 78 53 99 = 68 36 -- 10 78 10 24 ----- 54 |
9.把之前的12乘上10,再加上第十根柱子第八橫排第二直排的數,16,得136。
10.重複上述步驟可得到結果:
|
_____________ √46 78 53 99 = 68 36 -- 10 78 10 24 ----- 54 53 |
11.再次找到比5453還要小但最大的數,為4089。5453減去4089為1364,並把3寫在68的旁邊。
|
_____________ √46 78 53 99 = 683 36 -- 10 78 10 24 ----- 54 53 40 89 ----- 13 64 |
12.把3乘2的結果加上之前136的十倍,得到1366。把1,3, 6,6的版子擺入底座。
13.再度重複上述步驟。現在比最底下的數小的數是第九橫排的123021。
|
_____________ √46 78 53 99 = 6839 36 -- 10 78 10 24 ----- 54 53 40 89 ----- 13 64 99 12 30 21 -------- 1 34 78 |
14.再把9加到答案當中,得到整數答案6839。
我們把題目給的數46785399用完了,但是底下還有餘數13478。這意味著6839是答案的整數部分,的實際值應當比6839大,比6840小。如果有需要繼續做下去以得到小數部分的話,下一組的兩個數字就要用00:
|
_____________ √46 78 53 99 = 6839. 36 -- 10 78 10 24 ----- 54 53 40 89 ----- 13 64 99 12 30 21 -------- 1 34 78 00 |
這些步驟可以一直重複使得到的答案無限逼近正解。
最後,如果要求平方根的數是小數的話,將數字分組的時候整數部分跟小數部分要分開分組;整數部分如常,小數部分則是方向相反。
例如數字54782.917的分組情況為:
5 47 82 . 91 7
接著便可開平方。
参考文献
- 吴文俊主编<《中国数学史大系》第七卷 156-158页