Saturday, April 20, 2019

SICP in Clojure: Chapter 1, Exercise 8

This is my Clojure solution to Chapter 1, Exercise 8:

(ns sicp.ch1.ex08)

(defn good-enough-cube-root?
  [guess x]
  (< (Math/abs (- (Math/pow guess 3) x)) 0.001))

(defn improve-cube-root
  [guess x]
  (/ (+ (/ x (Math/pow guess 2)) (* 2 guess))
     3))

(defn cube-root-iter
  [guess x]
  (if (good-enough-cube-root? guess x)
    guess
    (cube-root-iter (improve-cube-root guess x)
                    x)))

No comments: