sicp exercises
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

36 рядки
713B

  1. (define (sqrt-iter guess x)
  2. (if (good-enough? guess x)
  3. guess
  4. (sqrt-iter (improve guess x) x)))
  5. (define (improve guess x)
  6. (average guess (/ x guess)))
  7. (define (average x y)
  8. (/ (+ x y) 2))
  9. (define (square x)
  10. (* x x))
  11. (define (good-enough? guess x)
  12. (< (abs (- (square guess)
  13. x))
  14. 0.001))
  15. (define (my-good-enough? guess prev-guess)
  16. (< (abs (- guess prev-guess))
  17. (/ guess 100000)))
  18. (define (my-sqrt-iter guess prev-guess x)
  19. (if (my-good-enough? guess prev-guess)
  20. guess
  21. (my-sqrt-iter (improve guess x)
  22. guess
  23. x)))
  24. (define (my-sqrt x)
  25. (my-sqrt-iter 1.0 (improve 1.0 x) x))
  26. (define (sqrt x)
  27. (sqrt-iter 1.0 x))