diff options
Diffstat (limited to 'euler57.scm')
-rw-r--r-- | euler57.scm | 17 |
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) |