summaryrefslogtreecommitdiff
path: root/coding-exercises/1/35.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'coding-exercises/1/35.rkt')
-rw-r--r--coding-exercises/1/35.rkt20
1 files changed, 20 insertions, 0 deletions
diff --git a/coding-exercises/1/35.rkt b/coding-exercises/1/35.rkt
new file mode 100644
index 0000000..2f597c7
--- /dev/null
+++ b/coding-exercises/1/35.rkt
@@ -0,0 +1,20 @@
+#lang racket
+(require sicp)
+
+(define (fixed-point f first-guess)
+ (define (close-enough? v1 v2)
+ (< (abs (- v1 v2)) 0.0001))
+ (define (try guess)
+ (let ((next (f guess)))
+ (if (close-enough? guess next)
+ next
+ (try next))))
+ (try first-guess))
+
+(define (golden-ratio)
+ (fixed-point
+ (lambda (x) (+ 1 (/ 1 x)))
+ 1.0))
+
+(golden-ratio)
+(/ (log 10) (log 2))