summaryrefslogtreecommitdiff
path: root/coding-exercises/1/46.rkt
diff options
context:
space:
mode:
authorMike Vink <mike1994vink@gmail.com>2023-03-04 17:56:57 +0100
committerMike Vink <mike1994vink@gmail.com>2023-03-04 17:56:57 +0100
commit9bb48cc50a438467ff029e1fb5726287b8408acc (patch)
treecd40732aefb9375907fb4501166d4644adaad3f0 /coding-exercises/1/46.rkt
parent035be9b1895133e0ffd1afdcc3a59c5d84c4b8d8 (diff)
refactor
Diffstat (limited to 'coding-exercises/1/46.rkt')
-rw-r--r--coding-exercises/1/46.rkt27
1 files changed, 27 insertions, 0 deletions
diff --git a/coding-exercises/1/46.rkt b/coding-exercises/1/46.rkt
new file mode 100644
index 0000000..ffb625c
--- /dev/null
+++ b/coding-exercises/1/46.rkt
@@ -0,0 +1,27 @@
+#lang racket
+(require "../../shared/chapter1.rkt")
+(require sicp)
+
+(define (sqrt x)
+ ((iterative-improve
+ (close-enough? 0.0001)
+ (lambda (g)
+ (/ (+ g (/ x g)) 2)))
+ 1.0))
+
+(sqrt 2)
+
+(define (fixed-point f first-guess)
+ ((iterative-improve
+ (close-enough? 0.0001)
+ f)
+ first-guess))
+
+(define (root-finder x n damp-fold)
+ (fixed-point
+ (average-damp
+ (lambda (y) (/ x (power y (- n 1))))
+ damp-fold)
+ 1.0))
+
+(root-finder 2 64 6)