16 lines
493 B
Text
16 lines
493 B
Text
*FLOAT64
|
|
@% = &1001010
|
|
|
|
PRINT "SQR(2) = " ; FNcontfrac(1, 1, "2", "1")
|
|
PRINT " e = " ; FNcontfrac(2, 1, "N", "N")
|
|
PRINT " PI = " ; FNcontfrac(3, 1, "6", "(2*N+1)^2")
|
|
END
|
|
|
|
REM a$ and b$ are functions of N
|
|
DEF FNcontfrac(a0, b1, a$, b$)
|
|
LOCAL N, expr$
|
|
REPEAT
|
|
N += 1
|
|
expr$ += STR$(EVAL(a$)) + "+" + STR$(EVAL(b$)) + "/("
|
|
UNTIL LEN(expr$) > (65500 - N)
|
|
= a0 + b1 / EVAL (expr$ + "1" + STRING$(N, ")"))
|