|
!'ゴールドシュミット法(Gold schmidt)
OPTION ARITHMETIC DECIMAL_HIGH
INPUT PROMPT "A=":A !'(※ここでは A=3072は収束しない。A=5120以上では発散する)
LET X=A/32/32
LET Y=A/32/32
DO
LET Z=(3-X)/2
LET X=X*Z*Z
LET Y=Y*Z
PRINT Y*32
LOOP UNTIL ABS(X-1)<1E-990
PRINT
PRINT SQR(A)
END
----------------------------------------------
OPTION ARITHMETIC DECIMAL_HIGH
LET A=PI
LET X=A
LET Y=A
LET Z=.564189583547756 !'Z=SQR(1/PI) 初期値を与える
DO
LET X=X*Z*Z
LET Y=Y*Z
LET Z=(3-X)/2 !'上のプログラムと計算順序を入れ替えている
PRINT Y
LOOP UNTIL ABS(X-1)<1E-990
PRINT
PRINT SQR(PI)
END
----------------------------------------------
INPUT PROMPT "A=":A
INPUT PROMPT "n乗根=":N
LET X=A
LET Y=A
LET K=2^N
LET X=X/K^N
LET Y=Y/K^N
DO
LET Z=(N+1-X)/N
LET X=X*Z^N
LET Y=Y*Z^(N-1)
PRINT Y*K
LOOP UNTIL ABS(X-1)<=1E-13
PRINT Y*K;A^(1/N)
END
|
|