03.04 請教我什麼計算平方根?

手機用戶12030597234


算盤不會用哈,所以教不了你。但可以介紹筆算開平方法。


筆算開平方法

一、開方的計算步驟

1.以小數點為分界線,向左向右將被開方數每隔兩位劃為一段。

如:7’85’67,1.61’23,10.12’3等。

2.根據左邊第一段裡的數,求得平方根的最高位上的數。

如:

7’85’67,左邊第一段是7,介於2-3的平方之間,取2。

1.61’23,左邊第一段是1,就是1的平方,

10.12’3,左邊第一段是10,介於3-4的平方之間,取3。

3.用第一段的數減去最高位上數的平方,再把右邊一段得兩位數下來,不足兩位補0。如同除法運算。

如:7’85’67,7減2的平方4=3,再把85下來,組成385,作為餘數。此時的商只有一個2。

4.把求得的最高位數乘以20去試除第一個餘數,所得的最大整數作為試商。

如:7’85’67,第一個餘數是385,商2。


用20×2+_(暫時空著),試除第一個餘數385,最多隻能上8,8填入橫線上。就是20×2+8=48,用48×8(試商是8)=384,385-384=1,第二個餘數是1,此時的商是28。

5.再下拉兩位,用同樣的方法。

如:7’85’67,第二個餘數是1,下拉67,組成167,此時商28。

……

二、圖示說明



用心生活用心工作


直接用算盤開平方的方法在明朝朱大位的《算法纂要》中就有記載,不過在今天看來,有點煩瑣。下面介紹一種用珠法開平方的簡便算法——無限逼近法

無限逼近法的原理很簡單,就是我們常用的完全平方公式。

(a+b)² = a²+2ab+b²

當 b遠小於a時,b²可以忽略。即

(a+b)² 約等於 a²+2ab=a(a+2b)

例如求432的算術平方根

先估算a,我們知道20的平方是400,所以可以先令a=20

即432約等於20(20+2b)

可以算出b=0.8

如果要得到更高的精神則可以進一步往下算

432=(20.8+b)² = 20.8(20.8+ 2b)

可以求出b=-0.01538

432的算術根是20.8-0.01538=20.7846

一步一步向下算就可了

如果a取得足夠準確,計算量就會少許多

37651的算術平方根

我們知道37651接近200*200=40000,所以可以先選a=190試試

37651=(190+b)²約等於190(190+2b)

b=4.0816

為了簡便可以令b=4

37651=(194+b)²約等於194(194+2b)

b=0.03866

就可以求出37651的算術平方根是194.03866

b也可以是負數,如求85264的算術平方根

這個數接近90000,可以選a=300

則85264=300*300+2*300b

b=-7.893

可以取b=-8接著算

取a=300-8=292

85264=292*292-2*292b

算出b=0

所以85264的算術平方根是292+0=292



總結,這種算法的要點

1、整數a的選取儘量接近原平方根,比如較大的數據的平方根估值,可用尾數是0、5試算後再選更接近的。

2、如果求出的b值是整數後帶小數,為了計算方便可以取最接近的整數

3、根據精度要求,可以一步步逼近要求的位數。

4、(a+b)² 約等於 a²+2ab=a(a+2b)後面提取a(a+2b)是考慮計算機編程方便。在實際計算中直接用(a+b)² 約等於 a²+2ab就可以了,沒有必要後拖一步。


湍水釣叟


有一個簡單的迭代法求平方根,只需要幾步,就可以達到很高的精度,

如果x^2=C,

設x(0)為x初始猜測值,則根據猜測值可以計算,x(1)=0.5*[x(0)+C/x(0)],如法炮製,

x(n+1)=0.5*[x(n)+C/x(n)],n=0,1,2,...

直到滿足要求為止。

一般,五次迭代可以滿足工程需要。


分享到:


相關文章: