summaryrefslogtreecommitdiff
path: root/euler57.scm
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2018-05-27 13:25:10 +0800
committerIru Cai <mytbk920423@gmail.com>2018-05-27 13:25:10 +0800
commit12b78407f3ce4d6ee5f67fb0c6ce5c754cf78a58 (patch)
treec5add6603cb45857977a797f251d9d123464fb57 /euler57.scm
parent1c76beb0d4ccf57d2db84cf417f37a3a155fb905 (diff)
downloadproject_euler-12b78407f3ce4d6ee5f67fb0c6ce5c754cf78a58.tar.xz
57, 59, 67, 206
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)