Learning/SICP/exercise_1_38.janet
2025-05-29 22:00:25 +02:00

18 lines
374 B
Plaintext

(defn cont-frac [N D k]
(defn iter [prev i]
(if (>= i k)
prev
(cond
(= i 1) (iter (/ (N (- k i)) (D (- k i))) (+ i 1))
(iter (/ (N (- k i)) (+ (D (- k i)) prev)) (+ i 1)))))
(iter 0 1))
(defn identity [i] 1.0)
(defn D [i]
(let [n (+ i 1)]
(cond
(= (mod n 3) 0) (* (/ n 3) 2)
1.0)))
(print (+ 2 (cont-frac identity D 100)))