;!/usr/bin/racket
;#lang racket

(define (cont-frac n d k)
        (define (frac i)
                (if (< i k)
                        (/ (n i)
                           (+ (d i) (frac (+ i 1))))
                        (/ (n i) (d i))))
        (frac 1))


(define (cont-frac-iter numenator denominator k)
        (define (iter i result)
                (if (= i 0)
                        result
                        (iter (- i 1)
                                   (/ (numerator i)
                                      (+ (denominator i)
                                          result)))))
        (iter (- k 1)
                   (/ (numerator k)
                      (denominator k))))

(display (cont-frac (lambda (i) 1.0)
                    (lambda (i) 1.0)
                     100))
(newline)

(display (cont-frac-iter (lambda (i) 1.0)
                         (lambda (i) 1.0)
                          100))
(newline)
