//examples
X*X-B*X-1=0
Go
X=B+1/X
Go
(init x=1 ,B=2 )
(setq small 37)
(setq big 99)
(defun calc (a b)
(if (eq a 1)
(cons b nil)
(cons (/ (- b (mod b a ) )
a)
(calc (mod b a ) a ))))
(defun recalc (lst)
(if (eq (cdr lst ) nil)
(/ 1.0 (car lst))
(/ 1.0
(+ (car lst)
(recalc (cdr lst))))))
(setq initvalue 1.0)
(setq B 2)
(defun fun (value)
(+ B
(/ 1.0 value)))
(defun many (value)
(if (> (abs (- (fun value ) value )) (/ 1 10000000) )
(+ 1 (many (print (fun value)) ))
0))
(defun generate (count )
(if (> count 0)
(cons B (generate (- count 1) ))
(cons initvalue nil)
)
)
(+ B (recalc (generate (many initvalue ) ) ) )
//注意最后一行的+ B的意义因为它与前面的1/(1+x)格式不一样.
//比如要开(sqrt 5)
(x-2)(x+2)=1
Go
x=2+1/(2+x)
可以实现.