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

24 lines
541 B
Plaintext

(defn cont-frac [N D k]
(defn iter [i]
(cond
(= k i) (/ (N i) (D i))
(/ (N i) (+ (D i) (iter (+ i 1))))))
(iter 1))
(defn cont-frac-iter [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))
(print (cont-frac (fn [i] 1.0)
(fn [i] 1.0)
12))
(print (cont-frac-iter (fn [i] 1.0)
(fn [i] 1.0)
12))