summaryrefslogtreecommitdiff
path: root/coding-exercises/1/38.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'coding-exercises/1/38.rkt')
-rw-r--r--coding-exercises/1/38.rkt22
1 files changed, 22 insertions, 0 deletions
diff --git a/coding-exercises/1/38.rkt b/coding-exercises/1/38.rkt
new file mode 100644
index 0000000..5e78719
--- /dev/null
+++ b/coding-exercises/1/38.rkt
@@ -0,0 +1,22 @@
+#lang racket
+(require sicp)
+
+;; recurse down
+(define (cont-frac n d k)
+ (define (recurse i)
+ (if (> i k)
+ 0
+ (/ (n i) (+ (d i) (recurse (inc i))))))
+ (recurse 1))
+
+(define (euler-d i)
+ (let ((next3 (+ i 1)))
+ (if (= 0 (remainder next3 3))
+ (* 2 (/ next3 3))
+ 1)))
+
+;; test
+(+ 2 (cont-frac
+ (lambda (i) 1.0)
+ euler-d
+ 16.0))