開平方 9 l0 E8 S" f' n) O9 `" n
例:(以20為例) # M1 Q- U9 `* U
16=4*4 0 b1 d1 C+ ^! K4 F0 W
設20=(4+x)^2 ' t3 [4 I3 b1 z h# s
20=16+8x+x^2
/ g5 e3 ~2 b3 L% a& i+ I2 ]因為x較小 # y v- X: I4 B9 H6 f0 d5 f
所以 ( S! D3 |: k$ @9 W( {
20約等于16+8x $ M( D7 X6 g! P( D) N
x約等于0.5 * k* a; k& Y8 V0 ^. u/ r
設20=(4.5+x)^2
# a( ~; N) E7 W6 p同理 " R8 F! k. C7 J f0 s6 H
x約等于-0.0277
; Q7 H! K) h$ g6 C............... " K5 z- S! p, V, ^
徒手開n次方根的方法:
# A% D; n9 s( i原理:設被開方數為X,開n次方,設前一步的根的結果為a,現在要試根的下一位,設為b,
; J9 i/ U/ `# e則有 10*a+b)^n-(10*a)^n<=c(前一步的差與本段合成);且b取最大值 4 O B: Q/ [ w! ~4 ~2 y4 @% j
用純文字描述比較困難,下面用實例說明: ; M6 x& O, @ g7 G+ ]; }) L, y
我們求 2301781.9823406 的5次方根:
0 A8 r8 R2 ^- i+ l2 H! M2 C第1步:將被開方的數以小數點為中心,向兩邊每隔n位分段(下面用'表示);不足部分在兩端用0補齊;
! s5 A' E. B* s4 o/ X1 ?( _% O23'01781.98234'06000'00000'00000'..........
1 q4 R% K( [2 T# P! X3 ?從高位段向低位段逐段做如下工作: 9 w& L6 f u( o$ _- @! G. W# o) ?3 m
初值a=0,差c=23(最高段)
3 b5 X8 M1 ~3 X9 X6 `第2步:找b,條件 10*a+b)^n-(10*a)^n<=c,即b^5<=23,且為最大值;顯然b=1 ) }* `1 H2 v4 a* f( g* T) R
差c=23-b^5=22,與下一段合成,
3 [* }# t3 l) O% n$ Y. Lc=c*10^n+下一段=22*10^5+01781=2201781 % e2 ~5 M2 a5 v+ z4 D( F6 m
第3步:a=1(計算機語言賦值語句寫作a=10*a+b),找下一個b, , N. q, Q+ m1 @+ C
條件 10*a+b)^n-(10*a)^n<=c,即:(10+b)^5-10^5<=2201781,
9 v6 K% H7 `; V+ n2 d! Z; }b取最大值8,差c=412213,與下一段合成,
) h$ w$ A! x- P# Uc=c*10^5+下一段=412213*10^5+98234=41221398234 ' P5 s( b5 W, [' d! V. B
第4步:a=18,找下一個b,
! S2 w+ p( \+ g, J- s7 m條件:(10*a+b)^n-(10*a)^n<=c,即:(180+b)^5-180^5<=41221398234,
1 G3 [/ N5 y0 ^: h. Jb取最大值7
9 N+ X9 S' v+ f, f2 U- M說明:這里可使用近似公式估算b的值: ' K- b6 y3 z0 x# I9 G2 r7 D
當10*a>>b時,(10*a+b)^n-(10*a)^n≈n*(10*a)^(n-1)*b,即:
" i4 X. [, k& k, b6 ]b≈41221398234/n/(10*a)^(n-1)=41221398234/5/180^4≈7.85,取b=7 0 A1 }8 G3 Z' c2 n3 G
以下各步都更加可以使用此近似公式估算b之值 " q6 Z9 ~% { a% s; [9 n
差c=1508808527;與下一段合成, ; o& B( F+ K" h
c=c*10^5+下一段=1508808527*10^5+06000=150880852706000
: t" f: n) q% O& M第5步:a=187,找下一個b, 4 n5 ~1 ^: g$ D
條件:(10*a+b)^n-(10*a)^n<=c,即: , B/ ^8 Q N' O, |; A& { X4 e
(1870+b)^5-1870^5<=150880852706000,
1 l; W- N) [9 @ |5 ^. u+ G+ q) sb取最大值2,差c=28335908584368;與下一段合成, / ~9 u! I* r2 D/ M- s% v, G
c=c*10^5+下一段=2833590858436800000 4 W5 u- J6 z4 j: ^
第6步:a=1872,找下一個b, * ]0 q; E( p$ |/ k+ D
條件:(10*a+b)^n-(10*a)^n<=c,即: 3 N: b. o1 m$ {- f5 ?2 L- z
(18720+b)^5-18720^5<=2833590858436800000, . j8 B& J0 a4 G: S. ~
b取最大值4,差c=376399557145381376;與下一段合成, 7 ?5 I+ v& n7 M' X
c=c*10^5+下一段=37639955714538137600000 |