diff options
Diffstat (limited to 'euler20.scm')
-rw-r--r-- | euler20.scm | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/euler20.scm b/euler20.scm new file mode 100644 index 0000000..df06c9d --- /dev/null +++ b/euler20.scm @@ -0,0 +1,16 @@ +(define (sum-digits n) + (if (= n 0) + 0 + (+ (remainder n 10) + (sum-digits (floor (/ n 10)))))) + +(define (! n) + (define (p-iter i p) + (if (> i n) + p + (p-iter (+ i 1) (* p i)))) + (p-iter 1 1)) + +(display (sum-digits (! 100))) +(newline) + |