跳轉到內容

傳統算盤與珠算/根/平方根

來自華夏公益教科書,開放的書,開放的世界

為我們要獲取平方根的數字 ;讓我們考慮其十進位制展開,例如:。讓我們以以下方式將它的數字分成以小數點為中心的兩組

或者換句話說,讓我們定義整數序列

並從 遞迴地構建序列

並設 平方根的整數部分

例如, 是最大的整數,其平方不超過 。最後,我們將餘數稱為差值

對於我們的例子,我們有

0 0 0 0
1 4 4 2 0
2 56 456 21 15
3 78 45678 213 309
4 90 4567890 2137 1121
5 12 456789012 21372 26628

我們可以看到,根據構造, 隨著 (每一步增加兩位數字)增長,實際上序列 :(0, 400, 456, 456.78, 456.7890, 等等)趨於 。相比之下, 作為 平方根的整數部分,僅隨著 (每一步增加一位數字)增長。由於 是平方不大於 的最大整數,我們有 如上,但是

根據 的定義,或者

乘以

但由於 僅以 的速度增長,第二項隨著 趨於零。因此

並且 ,因此我們有

對於其他數字,上述因子為: ,其中 是小數點左側兩位陣列的個數,如果後面跟著 00 組,則為負數(例如, 表示 表示 ,等等)。

這是傳統手動開平方方法的基礎。

過程

[edit | edit source]

我們從 開始。

第一位數字

[edit | edit source]
平方表
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81

對於 ,很容易找到 ,使其平方不超過 ,可以使用以下平方表,該表很容易記憶,因為它只是乘法表的子集。對於這個例子,我們發現

剩餘的數字

[編輯 | 編輯原始碼]

對於 ,我們有 如上所定義,我們嘗試以以下方式構建

其中 是一個從 0 到 9 的一位整數。為了獲得 ,我們必須從 0 到 9 中選擇最大的數字,使得

或者

如果我們將 。展開二項式,我們有

或者

上述表示式的左側可以看作是前一個餘數加上下一個兩位數的組合,最後一個項的括號可以看作是前一個根的兩倍加上數字b。在我們的例子中,對於 ,我們有56在左側,上述表示式是

這個表示式僅在 時成立,所以1是我們的下一個根的數字,但是,如何在一般情況下進行,而不必系統地探索每一種可能性()?

Knott[1]區分了兩種不同的方法

  • 準備除數
  • 準備被除數。

準備除數

[edit | edit source]

這對應於上面的表示式

這是通常用紙筆使用的方法,當然也可以在算盤上實現。在上面的表示式中,如果我們將左側視為被除數,括號視為除數,b就是除法的第一個數字

但由於我們還不知道b,我們只使用除數的主要部分來近似它

這給了我們一個關於b值可能是什麼的猜測,但我們需要

  1. 驗證這樣得到的值是否正確,或者在適當的情況下,根據需要向上或向下修正它。
  2. 獲得下一個餘數,以準備計算根的下一個數字。

這兩個步驟都需要從 中減去;檢查我們是否不會得到負值,以及剩餘部分是否小於(否則我們必須修正 上調或下調)。如果我們正確地執行了這個操作,我們剩下的是新的餘數。需要注意的是,隨著我們進行計算( 增加), 對除數 的貢獻越來越小;因此,上面指出的過程將越來越像一個簡單的除法。

這是高島隆在第二本書《珠算進階 - 理論與實踐》[2] 中提出的方法,您可以在Totton Heffelfinger 的網站 http://totton.idirect.com/abacus/ 上的《Kojima 解平方根》[3] 中看到其描述,我建議讀者參考這些資料以瞭解解釋和示例。以下是我們的示例中計算可能開始的方式的簡要說明:

納皮爾的骨頭 排列以幫助計算示例中的第三位根
的前三位數字,準備除數
算盤 註釋
ABCDEFGHIJKLM
   4567890123 從 CD(第一組)開始輸入被開方數
 2 第一位根在 B 中
  -4 從第一組中減去 B 的平方
 2  567890123 餘數為零
 4  567890123 將 B 乘以 2。將下一組(56)追加到餘數
 41 567890123 5/4≈1,嘗試 1 作為下一位根
   -4 繼續除以 41,從 EF 中減去 1✕41
    -1
 41 157890123 餘數為 15
 42 157890123 將第二位根乘以 2
 42 157890123 追加下一組(78)
 423157890123 157/42≈3,嘗試 3 作為下一位根
   -12 繼續除以 423,從 E-H 中減去 3✕423
    -06
     -09
 423 30990123 餘數為 309
 426 30990123 將第三位根乘以 2
 426 30990123 追加下一組(90)
    等等。


可以看到,根的兩倍向算盤左側增長,損害了被開方數/餘數和未使用的兩位陣列。這與算盤上其他基本運算相反,在其他基本運算中,**求解的結果會取代運算元**(或其中一個運算元)。因此,傳統上,求平方根的首選方法似乎是下面的方法,我們將在其中看到根直接出現在算盤上,而不是它的兩倍。

準備被除數

[編輯 | 編輯原始碼]

再次從

除以 2

修改後的表示式將使我們能夠在算盤上直接得到平方根,其操作步驟與上面基本相同,只是在算盤上只保留一半餘數。這裡,對於平方根來說,變化幾乎微不足道,但在處理立方根時將更加重要。如上式所示,忽略 項,我們可以透過簡單地將擴充套件後的半餘數 除以之前的根 (實際上是 )來獲得 的估計值。之後,我們還需要

  1. 驗證這樣得到的值是否正確,或者在適當的情況下,根據需要向上或向下修正它。
  2. 獲得下一個半餘數,以便為根的下一位數字做準備。

這是透過從半餘數中減去 來實現的,這使得記住以下半平方表非常方便

半平方表
1 0.5
2 2  
3 4.5
4 8  
5 12.5
6 18  
7 24.5
8 32  
9 40.5

幸運的是,由於 2 是我們基數(10)的約數,因此表中的十進位制小數有一個有限表示式;而當我們試圖將此過程擴充套件到立方根時,我們不得不處理立方體的三分之一,這種情況就不會發生。據 Knott 說,這使得立方根成為不適合用算盤處理的問題。

示例

[edit | edit source]

這裡給出了三個示例,更多示例請參見下面的 進一步閱讀,特別是 外部資源

961 的平方根

[edit | edit source]

在這個例子中,我們有兩組兩位數:09 和 61。第一組告訴我們根的第一位數字是 3。

有兩種方法可以開始求平方根

  • 從算盤的 B 列開始,將各組數字對齊到算盤的左側,並使用傳統的除法來獲得半餘數。
A B C D E
...
0 9 6 1
這是舊書中使用的方法,也是村上在 用 kijohou 求平方根教程 中使用的方法(見下文 外部資源)。
使用傳統的除法
算盤 註釋
ABCDE
 0961 將被開方數與 B 對齊
30961 將根的第一位數字輸入 A
 -9 減去根的第一位數字的平方(9)
30061
30305 將餘數 B-E 除以 2(帰除法)
  • 從算盤的 A 列開始,將各組數字對齊到算盤的左側,並使用 原位 除法,如第 除以二的冪 章所述,來獲得半餘數。
A B C D E
...
0 9 6 1
這種方法稍微快一些。
使用原位除法
算盤 註釋
ABCDE
0961 將被開方數與 A 對齊
-9 減去根的第一位數字的平方(9)
0061
 0305 將餘數原位除以 2
30305 將根的第一位數字輸入 A

從這裡開始,算盤的狀態一致,我們可以繼續

繼續
算盤 註釋
ABCDE
30305
+1 將半餘數 B-E 除以 3。將 B 向上修正
 -3
31005
  -05 從 D 中減去 b^2/2 =0.5
31000 半餘數為 0,完成!根為 31
31 根為 31

998001 的平方根

[edit | edit source]
算盤 註釋
 ABCDEFG
 998001 輸入被開方數
-81 從第一組中減去 9^2=81
 188001
  940005 將餘數原位除以 2
 9940005 將根的第一位數字輸入 A
 9930005 B:規則 9/9>9+9
  -405 從 D 中減去 9^2/2=40.5
 9989505
 9987505 C:規則 8/9>8+8
   -72 從 DE 中減去 CxB=72
 998T305 將 C 向上修正
  +1
   -99
 9990405
    -405 從 F 中減去 9^2/2=40.5
 9990000 餘數為 0。完成!
 999 根為 999

456.7890123 的根

[edit | edit source]

我們上面的例子...

的前 4 位數字
算盤 註釋
ABCDEFGHIJKL
04567890123 輸入 x,將數字對從 AB、CD 等對齊。
-4 從第一組中減去 2^2
  567890123
  2839450615 將餘數和其餘數字對減半
2 2839450615 在 A 中輸入第一個根數字
+1 用 A 除 BCD(向上修正 B)
 -2
  -05 從 D 中減去 B^2/2=0.5
21 789450615
 +3 用 AB 除 CDEF(向上修正 C 三次)
  -6
   -3
    -45 從 F 中減去 C^2/2=4.5
213154950615
213554950615 用 ABC 除 DEFGH。D:規則 1/2>5+0
    -5 從 EF 中減去 DxB=5
    -15 從 FG 中減去 DxC=15
213548450615
  +2 向上修正 D 兩次
   -426
213705850615
     -245 從 H 中減去 7^2/2=24.5
21370560F615 到目前為止的根:21.37
    等等。     等等。


根 2137…(21.37…)出現在左側。檢視章節:簡化運算 瞭解如何快速估算接下來的 4 位數字。

結論

[edit | edit source]

解釋為:準備被除數 的方法被稱為 半九九法(日語中稱為 Hankukuhou,中文中稱為 Bàn jiǔjiǔ fǎ),我們在此自由地將其翻譯為 半餘數法,它迄今為止是最方便使用的方法,至少有兩個原因

  1. 根(而不是它的兩倍)取代了運算元(被開方數),就像算盤上的其他運算一樣。
  2. (最重要的是)用以 1 開頭的數字進行除法很麻煩。考慮一下前兩位數字,它的值介於 1 和 99 之間,並決定了平方根的第一位數字。對於第一對的值介於 25 和 99 之間(75% 的情況),根的第一位數字介於 5 和 9 之間,它的兩倍以 1 開頭!因此,如果我們使用 準備除數 的方法,我們將用以 1 開頭的數字進行除法,這種情況佔 75% 。相反,如果我們使用 準備被除數 的方法,只有在第一組是 1、2 或 3 的情況下(3% 的情況),我們才需要用以 1 開頭的數字進行除法。

半餘數法準備被除數 方法的優越性是毋庸置疑的。

參考資料

[edit | edit source]
  1. Knott, Cargill G. (1886), "The Abacus, in its Historic and Scientific Aspects", Transactions of the Asiatic Society of Japan, 14: 18–73
  2. Kojima, Takashi (1963), Advanced Abacus: Theory and Practice, Tokyo: Charles E. Tuttle Co., Inc., ISBN 978-0-8048-0003-7
  3. Heffelfinger, Totton (2003). "Square Roots as Solved by Kojima". 算盤 Abacus: Mystery of the Bead. Archived from the original on August 1, 2021. Retrieved August 16, 2021.

進一步閱讀

[edit | edit source]

外部資源

[edit | edit source]
  • 村上 使用 Kijoho 的平方根教程,這是一個 JavaScript 應用程式,您可以直接在瀏覽器中執行 或者從其GitHub 倉庫 下載到您的電腦。您只需在左側的小輸入框中輸入根,然後反覆按下螢幕上的“下一步”按鈕即可一步一步地檢視該過程的進展。因此,您可以生成任意數量的示例或練習。


下一頁: 立方根 | 上一頁: 
首頁: 算盤與珠算/根
華夏公益教科書