Code Review

Compare your solutions

    #| BEGIN (Введите свое решение) |#
(define (cube x) (* x x x))

(define (good-enough? previous-guess guess)
  (< (abs (/ (- guess previous-guess) guess)) 0.00000000001))

(define (cube-root-iter guess x)
  (if (good-enough? (improve guess x) guess)
      guess
      (cube-root-iter (improve guess x) x)))

(define (improve guess x)
  (/ (+ (/ x (* guess guess)) (* 2 guess)) 3))


(define (cube-root x)
  (cube-root-iter 1.0 x))

; Basic testing
(define x 12345)
(define cube-root-x (cube-root x))
(newline)
(display "(cube-root ") (display x) (display ") -> ") (display cube-root-x)
(newline)
(display "(cube ") (display cube-root-x) (display ") -> ") (display (cube cube-root-x))
#| END |#