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)))
(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:
Post a Comment