Exercise 1.39

文責:@naoiwata

解答

(define (tan-cf x k)
  (cont-franc
    (lambda (i)
      (if (= i 1)
          x
          (- (square x))))
    (lambda (i) (- (* 2 i) 1))
    k))

実行コード

(define square (lambda (i) (* i i)))

(define (cont-franc n d k)
  (define (cont-franc-iter i)
    (if (= k i)
        (/ (n i) (d i))
        (/ (n i) (+ (d i) (cont-franc-iter (+ i 1))))))
  (cont-franc-iter 1))

(define (tan-cf x k)
  (cont-franc
    (lambda (i)
      (if (= i 1)
          x
          (- (square x))))
    (lambda (i) (- (* 2 i) 1))
    k))

(use math.const)
(tan-cf (/ pi 4) 100)
;; => 1.0

Table Of Contents

Previous topic

Exercise 1.38

Next topic

メンバー紹介