『壹』 筆算開平方法的演算法從何而來
根據完全平方公式來的:(a+b)^2=a^2+(2a+b)b,(a+b+c)^2=a^2+(2a+b)b+(2a+2b+c)c,...余仿此。因為開平方後若為不盡根(即含無限小數),都可表示為d+e/10+f//100+g/1000+...
『貳』 筆算開方公式(豎式)
以上
『叄』 如何筆算開方
述求平方根的方法,稱為筆算開平方法,用這個方法可以求出任何正數的算術平方根,它的計算步驟如下:
1.將被開方數的整數部分從個位起向左每隔兩位劃為一段,用撇號分開(豎式中的11'56),分成幾段,表示所求平方根是幾位數;
2.根據左邊第一段里的數,求得平方根的最高位上的數(豎式中的3);
3.從第一段的數減去最高位上數的平方,在它們的差的右邊寫上第二段數組成第一個余數(豎式中的256);
4.把求得的最高位數乘以20去試除第一個余數,所得的最大整數作為試商(3×20除
256,所得的最大整數是
4,即試商是4);
5.用商的最高位數的20倍加上這個試商再乘以試商.如果所得的積小於或等於余數,試商就是平方根的第二位數;如果所得的積大於余數,就把試商減小再試(豎式中(20×3+4)×4=256,說明試商4就是平方根的第二位數);
6.用同樣的方法,繼續求平方根的其他各位上的數.
徒手開n次方根的方法:
原理:設被開方數為X,開n次方,設前一步的根的結果為a,現在要試根的下一位,設為b,
則有:(10*a+b)^n-(10*a)^n<=c(前一步的差與本段合成);且b取最大值
用純文字描述比較困難,下面用實例說明:
我們求
2301781.9823406
的5次方根:
第1步:將被開方的數以小數點為中心,向兩邊每隔n位分段(下面用'表示);不足部分在兩端用0補齊;
23'01781.98234'06000'00000'00000'..........
從高位段向低位段逐段做如下工作:
初值a=0,差c=23(最高段)
第2步:找b,條件:(10*a+b)^n-(10*a)^n<=c,即b^5<=23,且為最大值;顯然b=1
差c=23-b^5=22,與下一段合成,
c=c*10^n+下一段=22*10^5+01781=2201781
第3步:a=1(計算機語言賦值語句寫作a=10*a+b),找下一個b,
條件:(10*a+b)^n-(10*a)^n<=c,即:(10+b)^5-10^5<=2201781,
b取最大值8,差c=412213,與下一段合成,
c=c*10^5+下一段=412213*10^5+98234=41221398234
第4步:a=18,找下一個b,
條件:(10*a+b)^n-(10*a)^n<=c,即:(180+b)^5-180^5<=41221398234,
b取最大值7
說明:這里可使用近似公式估算b的值:
當10*a>>b時,(10*a+b)^n-(10*a)^n≈n*(10*a)^(n-1)*b,即:
b≈41221398234/n/(10*a)^(n-1)=41221398234/5/180^4≈7.85,取b=7
以下各步都更加可以使用此近似公式估算b之值
差c=1508808527;與下一段合成,
c=c*10^5+下一段=1508808527*10^5+06000=150880852706000
第5步:a=187,找下一個b,
條件:(10*a+b)^n-(10*a)^n<=c,即:
(1870+b)^5-1870^5<=150880852706000,
b取最大值2,差c=28335908584368;與下一段合成,
c=c*10^5+下一段=2833590858436800000
第6步:a=1872,找下一個b,
條件:(10*a+b)^n-(10*a)^n<=c,即:
(18720+b)^5-18720^5<=2833590858436800000,
b取最大值4,差c=376399557145381376;與下一段合成,
c=c*10^5+下一段=37639955714538137600000
.............................
最後結果為:18.724......
『肆』 筆算開平方怎麼算
先求高位,再用求解的方式,求得低位。
根據兩數和的平方公式,可以得到:
1156=(30+a)^2=30^2+2×30a+a^2,
所以 1156-30^2=2×30a+a^2,
即 256=(30×2+a)a,
這就是說, a是這樣一個正整數,它與30×2的和,再乘以它本身,等於256。
為便於求得a,可用下面的豎式來進行計算:
根號上面的數3是平方根的十位數.將 256試除以30×2,得4(如果未除盡則取整數位).由於4與30×2
的和64,與4的積等於256,4就是所求的個位數a。
豎式中的余數是0,表示開方正好開盡。
於是得到 1156=34^2, 或√1156=34。它的計算步驟如下。
開方的計算步驟:
1.將被開方數的整數部分從個位起向左每隔兩位劃為一段,用撇號分開(豎式中的11』56),分
成幾段,表示所求平方根是幾位數。
2.根據左邊第一段里的數,求得平方根的最高位上的數(豎式中的3)。
3.從第一段的數減去最高位上數的平方,在它們的差的右邊寫上第二段數組成第一個余數(豎式中的256)。
4.把求得的最高位數乘以20去試除第一個余數,所得的最大整數作為試商(3×20除256,所得的
最大整數是 4,即試商是4)。
5.用商的最高位數的2倍加上這個試商再乘以試商.如果所得的積小於或等於余數,試商就是平方
根的第二位數;如果所得的積大於余數,就把試商減小再試(豎式中(3×20+4)×4=256,說明試
商4就是平方根的第二位數)。
6.用同樣的方法,繼續求平方根的其他各位上的數。
如遇開不盡的情況,可根據所要求的精確度求出它的近似值.例如求 的近似值(精確到0.01),可
列出上面右邊的豎式,並根據這個豎式得到。
筆算開平方運算較繁,在實際中直接應用較少,但用這個方法可求出一個數的平方根的具有任意精
確度的近似值。
(4)筆算開方演算法參考文獻擴展閱讀:
開立方運算:
設A = X^3,求X稱為開立方。 開立方有一個標準的公式:
例如,A=5,,即求
5介於1的3次方;至2的3次方;之間(1的3次方=1,2的3次方=8)
初始值X0可以取1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,都可以。例如我們取X0 = 1.9按照公式:
第一步:X1=1.9+(5/1.9^2;-1.9)1/3=1.7
即5/1.9×1.9=1.3850416,1.3850416-1.9=-0.5149584,-0.5149584×1/3=-0.1716528,1.9+
(-0.1716528)=1.7。即取2位數值,,即1.7。
第二步:X2=1.7+(5/1.7^2;-1.7)1/3=1.71
即5/1.7×1.7=1.73010,1.73-1.7=0.03,0.03×1/3=0.01,1.7+0.01=1.71。取3位數,比前面多
取一位數。
第三步:X3=1.71+(5/1.71^2;-1.71)1/3=1.709
第四步:X4=1.709+(5/1.709^2;-1.709)1/3=1.7099
『伍』 筆算開方~~~~~
不等式法
以√6為例。稍加估算就知道 0<√6-2<1/2
三邊平方得0< 10-4√6<1/4,此時10/4 >√6 > 10/4 -1/4/4,即2.5>√5>2.5-1/4/4
再平方,0<196-80√6<1/16,此時196/80 >√6 >196/80 -1/16/80即2.45√2 >2.449218
……每平方一次,小數點後的精確位數就乘2(灰色字是准確的數位),這是相當好的,可是你將要面對恐怖的天文數字。
另一種優化的方法: 佩爾方程與漸近分數結合
上面的方法雖然簡單,可是數字大,而且算出來的不是漸近分數,如果用漸近分數能把計算過程中的數字減少一點。
以√5為例,考慮佩爾方程x^2-5y^2=1的所有正整數解(x,y),x/y都是√5的漸近分數。
假設其中一組解是(x,y),再設x'-√5y'=(x-√5y)n,同樣地x'/y'也是√5的漸近分數。
上面兩條結論的證明在此略去。根據上面結論,而且不難找到9^2-5*4^2=1,於是
(9-4√5)^2=161-72√5,√5約等於161/72=2.236111
(161-72√5)^2=51841-23184√5, √5約等於51841/23184=2.2360679779158
從連分數的性質可以估算出誤差小於分母的平方的倒數。如上面的51841/23184,誤差小於1/231842=1.8605×10^-9
但是這種方法的缺點是要解出佩爾方程。其實解佩爾方程x^2-dy^2=1不需要狂試數,把√d化成連分數。把二次根式展成連分數是挺容易的,在這里我不再作展開啦,有興趣的話可以到網上找找看。
泰勒公式,跟牛頓二項式差不多,考慮函數x^(1/2),這里略。
迭代法
假設我們已經有一個較好的初值x,x²≈n,
設修正值為a,即(x+a)²≈n,x²+a²+2ax≈n,忽略很小的a²,即x²+2ax≈n,
從而a≈(n-x²)/(2x),x+a≈(n+x²)/(2x)
把(n+x²)/(2x)的值從新代替x,將得到更好的精確值,下面證明0≤|( (n+x²)/(2x) )²-n| < |x²-n|
現在如果其中一個迭代值x>√n那麼
(n/x +x)/2<(x²/x +x)/2 =x又
(n/x +x)/2≥√n (基本不等式)
於是迭代數列是有下界的遞減數列,也就是結論了。
類似地,如果x<√n則n/x +x≥√n回到前一種情況,如果x很接近0,這時候結論可能會不成立,所以結論要修正一下-_-~~,但是得到新的迭代值後一齊正常,不影響迭代。可以說,對任何正數作初值依然能存在極限。
這極限自然是√n。
關於這個迭代法也有別的證明。
二倍開平方法
廣西平南 陳信成 [email protected]
我的網路空間是:http://hi..com/cxczzz
我以前以為自已自創了筆算開平方方法,現在上網一看,類似的方法早就
已經有了,但還是把自己的方法貼出來,希望大家繼續改進,以後能像計算除法一樣開平方。
一.解任意數 7859.87的平方根
先移位,後計算,本位估平方,前面估相乘。
第一步移位成為1~100之間的數:
7859.87移位後得78.5987
第二步計算:
16 16 12 10 10 每個結果數都要和前面的
8. 8 6 5 5 二位結果數相乘加自己的平方
———————
7 8.5 9 8 7
6 4 8的平方小於78
————————
1 4 5.9 8 7
1 2 8 16*8+8*8/10<145.987
6 4
————————
1 1 5.8 7
9 6 16*6+16*6/10+6*6/100
9 6 <115.87
3 6
————————
9 9.1
8 0 16*5+16*5/10+12*5/100
8 0 +5*5/1000<99.1
6 0
2 5
—————————
1 0 4.7 5 余數,余數點號退1位
8 0 第一個前面相乘,16*5=80
8 0 第二個前面相乘,16*5=80
6 0 第三個前面相乘,15*5=60
5 0 第四個前面相乘,10*5=50
2 5 本位平方,5*5=25
———————————
1 6 0.9 7 5 余數,余數點號退1位
結果四捨五入保留小數點後面3位,8.867
余數點號退一位劃清各個數的位。
余數小於二倍結果數用來檢驗結果是否正確,二倍結果數是幾個數的疊加
第三步結果數移位: 8.867移位後得 88.67
『陸』 如何筆算開方
用二分法羅
如求2的開方,取X為1,Y為2,則M就等於(X+Y)/2=1.5,1.5*1.5-2>0 則令Y等於M=1.5,X仍然為1,這個時候M=(X+Y)/2,M=1.25,因為1.25*1.25-2<0,所以令X等於M=1.25。這個時候又繼續M等於(X+Y)/2,判斷,賦值!!
這樣就可以算到你要的精確值了!!
『柒』 怎樣進行筆算開方
上述筆算開方方法是我們大多數人上學時課本附錄給出的方法,實際中運算中太麻煩了。我們可以採取下面辦法,實際計算中不怕某一步算錯!!!而上面方法就不行。
比如136161這個數字,首先我們找到一個和136161的平方根比較接近的數,任選一個,比方說300到400間的任何一個數,這里選350,作為代表。
我們計算0.5*(350+136161/350)得到369.5
然後我們再計算0.5*(369.5+136161/369.5)得到369.0003,我們發現369.5和369.0003相差無幾,並且,369^2末尾數字為1。我們有理由斷定369^2=136161
一般來說能夠開方開的盡的,用上述方法算一兩次基本結果就出來了。再舉個例子:計算469225的平方根。首先我們發現600^2<469225<700^2,我們可以挑選650作為第一次計算的數。即算
0.5*(650+469225/650)得到685.9。而685附近只有685^2末尾數字是5,因此685^2=469225
對於那些開方開不盡的數,用這種方法算兩三次精度就很可觀了,一般達到小數點後好幾位。
實際中這種演算法也是計算機用於開方的演算法