開平方 % a. n; ~: H( ~+ f% ?) ~3 K
例:(以20為例)
: P, {2 ^5 d# O& U; ?16=4*4
/ _ T( }: f2 a9 a; ~$ I+ }設20=(4+x)^2 9 H' [$ F$ u/ ~3 e# }
20=16+8x+x^2
+ X. c! R; a) i8 B. g因為x較小 , v$ f. T7 U6 V" ^5 b1 y" |' G
所以
; S, P2 L9 J# ~" H# ]20約等于16+8x ; i$ u5 g; l1 c5 V* S. l
x約等于0.5
0 D# ]& Z8 O/ x4 |設20=(4.5+x)^2
^1 r0 G! p( H# `- J同理 - y3 k! E2 O- S `
x約等于-0.0277
- I- \1 q* I9 k+ [& }. @+ |............... ~. I6 c7 ~1 t Y1 v6 k6 }' ~
徒手開n次方根的方法: 6 u0 r y5 U z2 B
原理:設被開方數為X,開n次方,設前一步的根的結果為a,現在要試根的下一位,設為b,
) m q i2 A- p3 J/ O則有 10*a+b)^n-(10*a)^n<=c(前一步的差與本段合成);且b取最大值 + g3 M- D S: b& X8 ~0 i/ H
用純文字描述比較困難,下面用實例說明:
( E7 U; T' s8 M8 J: a, _3 G我們求 2301781.9823406 的5次方根:
m! J/ b& m4 X+ c+ M- R6 k第1步:將被開方的數以小數點為中心,向兩邊每隔n位分段(下面用'表示);不足部分在兩端用0補齊;
: o0 u I) L/ p! Z7 p- I) G- ^. V23'01781.98234'06000'00000'00000'.......... ' V1 }( W! s2 Z0 E
從高位段向低位段逐段做如下工作:
' ]- z6 y5 U d1 f7 Y初值a=0,差c=23(最高段) ! g: F& E8 o8 ^2 G0 p3 |1 N; [+ O
第2步:找b,條件 10*a+b)^n-(10*a)^n<=c,即b^5<=23,且為最大值;顯然b=1 . I0 F) R7 `1 z; p2 `- n
差c=23-b^5=22,與下一段合成, ) S+ \9 k6 h# A) u& [% f2 _0 {
c=c*10^n+下一段=22*10^5+01781=2201781
y6 F# Q; f+ L第3步:a=1(計算機語言賦值語句寫作a=10*a+b),找下一個b, % J% p1 W& h5 N( s* X
條件 10*a+b)^n-(10*a)^n<=c,即:(10+b)^5-10^5<=2201781,
- y8 Y Z1 K& @) z o* Ab取最大值8,差c=412213,與下一段合成,
) o; `2 Q( R$ Y) M4 Pc=c*10^5+下一段=412213*10^5+98234=41221398234
0 D L' T& m) T+ g3 `; Z第4步:a=18,找下一個b, " P b/ z: M% w6 M7 X/ i
條件:(10*a+b)^n-(10*a)^n<=c,即:(180+b)^5-180^5<=41221398234,
' k' \/ f/ a9 B# p! l" g& K5 wb取最大值7
/ w0 h1 F' d6 P1 V x, o) E/ ~說明:這里可使用近似公式估算b的值:
) e0 ]: v7 X7 ~2 N當10*a>>b時,(10*a+b)^n-(10*a)^n≈n*(10*a)^(n-1)*b,即: 8 f: |5 [% c* c; ]
b≈41221398234/n/(10*a)^(n-1)=41221398234/5/180^4≈7.85,取b=7
3 l/ }+ Z) j: y5 A+ t% N以下各步都更加可以使用此近似公式估算b之值 ! L* y/ q& P! y, X
差c=1508808527;與下一段合成,
1 _! H$ i, _6 c4 B) [) qc=c*10^5+下一段=1508808527*10^5+06000=150880852706000 5 }- R, u8 a8 W, C# |( N" T
第5步:a=187,找下一個b, , d" G8 k6 o. n9 T
條件:(10*a+b)^n-(10*a)^n<=c,即:
: V5 }2 c# M2 _; n(1870+b)^5-1870^5<=150880852706000,
9 P5 q* u( T- j# S- }6 d2 Ib取最大值2,差c=28335908584368;與下一段合成, + C& S; d4 G. d+ y
c=c*10^5+下一段=2833590858436800000
) j _2 n! ^: B i第6步:a=1872,找下一個b, - G" w# c) {5 g0 Z: p
條件:(10*a+b)^n-(10*a)^n<=c,即:
8 {9 u- w) n+ v2 ` m5 p M(18720+b)^5-18720^5<=2833590858436800000,
1 H/ r! v0 h2 v. z0 Nb取最大值4,差c=376399557145381376;與下一段合成,
, N o+ ]+ @& R$ K, |c=c*10^5+下一段=37639955714538137600000 |