(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))