納皮爾的骨頭

納皮爾的骨頭(英語:Napier's bones)是蘇格蘭數學家約翰納皮爾發明的一種用來計算乘法除法,類似算盤的工具。由一個底座及九根圓柱(方柱)組成,可以把乘法運算轉為加法,也可以把除法運算轉為減法。更為進階的用法也可以開平方根

底座跟柱子

納皮爾的骨頭在清初传入中国,数学家梅文鼎在《梅氏丛书辑要》中最先介绍納皮爾的骨頭,梅氏称之为“筹算”。后来戴震著作《策算》也叙述了这种算法[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。

 123456789
10/10/20/30/40/50/60/70/80/90/1     2   1
20/20/40/60/81/01/21/41/61/80/4     4   2
30/30/60/91/21/51/82/12/42/70/9     6   3
40/40/81/21/62/02/42/83/23/61/6     8   4
50/51/01/52/02/53/03/54/04/52/5   10   5
60/61/21/82/43/03/64/24/85/43/6   12   6
70/71/42/12/83/54/24/95/66/34/9   14   7
80/81/62/43/24/04/85/66/47/26/4   16   8
90/91/82/73/64/55/46/37/28/18/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的右邊。

 12
10/10/20/1     2   1
20/20/40/4     4   2
30/30/60/9     6   3
40/40/81/6     8   4
50/51/02/5   10   5
60/61/23/6   12   6
70/71/44/9   14   7
80/81/66/4   16   8
90/91/88/1   18   9
         _____________        √46 78 53 99    = 6         36         --         10 78

7.找出比1078還要小但最大的數,在此第八橫排的1024是最大的:

 0/8 1/6 6/4 → 1024

8. 8為答案的下一位數,寫在6旁邊,然後把1078減去1024得到54。

 12(value)
10/10/20/1     2   1121
20/20/40/4     4   2244
30/30/60/9     6   3369
40/40/81/6     8   4496
50/51/02/5   10   5625
60/61/23/6   12   6756
70/71/44/9   14   7889
80/81/66/4   16   81024
90/91/88/1   18   91161
         _____________        √46 78 53 99    = 68         36         --         10 78         10 24         -----            54

9.把之前的12乘上10,再加上第十根柱子第八橫排第二直排的數,16,得136。

10.重複上述步驟可得到結果:

 136
10/10/30/60/1     2   1
20/20/61/20/4     4   2
30/30/91/80/9     6   3
40/41/22/41/6     8   4
50/51/53/02/5   10   5
60/61/83/63/6   12   6
70/72/14/24/9   14   7
80/82/44/86/4   16   8
90/92/75/48/1   18   9
         _____________        √46 78 53 99    = 68         36         --         10 78         10 24         -----            54 53

11.再次找到比5453還要小但最大的數,為4089。5453減去4089為1364,並把3寫在68的旁邊。

 136 
10/10/30/60/1     2   11361
20/20/61/20/4     4   22724
30/30/91/80/9     6   34089
40/41/22/41/6     8   45456
50/51/53/02/5   10   56825
60/61/83/63/6   12   68196
70/72/14/24/9   14   79569
80/82/44/86/4   16   810944
90/92/75/48/1   18   912321
         _____________        √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。

 1366 
10/10/30/60/60/1     2   113661
20/20/61/21/20/4     4   227324
30/30/91/81/80/9     6   340989
40/41/22/42/41/6     8   454656
50/51/53/03/02/5   10   568325
60/61/83/63/63/6   12   681996
70/72/14/24/24/9   14   795669
80/82/44/84/86/4   16   8109344
90/92/75/45/48/1   18   9123021
         _____________        √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:

 13678
10/10/30/60/70/80/1     2   1
20/20/61/21/41/60/4     4   2
30/30/91/82/12/40/9     6   3
40/41/22/42/83/21/6     8   4
50/51/53/03/54/02/5   10   5
60/61/83/64/24/83/6   12   6
70/72/14/24/95/64/9   14   7
80/82/44/85/66/46/4   16   8
90/92/75/46/37/28/1   18   9
         _____________        √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

接著便可開平方。

参考文献编辑

  1. ^ 吴文俊主编<《中国数学史大系》第七卷 156-158页