summaryrefslogtreecommitdiff
path: root/euler57.scm
diff options
context:
space:
mode:
Diffstat (limited to 'euler57.scm')
-rw-r--r--euler57.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/euler57.scm b/euler57.scm
new file mode 100644
index 0000000..aa8972a
--- /dev/null
+++ b/euler57.scm
@@ -0,0 +1,17 @@
+(define (expension n)
+ (define (e n)
+ (if (= n 1) (/ 1 2)
+ (/ 1 (+ 2 (e (- n 1))))))
+ (+ 1 (e n)))
+
+(define (digits n)
+ (if (< n 10) 1 (+ 1 (digits (quotient n 10)))))
+
+(define (solve n)
+ (if (= n 0) 0
+ (+ (solve (- n 1))
+ (let ((t (expension n)))
+ (if (> (digits (numerator t)) (digits (denominator t))) 1 0)))))
+
+(display (solve 1000))
+(newline)