summaryrefslogtreecommitdiff
path: root/euler20.scm
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2018-05-24 21:39:58 +0800
committerIru Cai <mytbk920423@gmail.com>2018-05-24 21:39:58 +0800
commit1eefd58ca4fdb5d2f51f657bfd70c9a89a4707db (patch)
treeabde0e4da3c7fe138f3874a94d8eb7d0e44c3224 /euler20.scm
downloadproject_euler-1eefd58ca4fdb5d2f51f657bfd70c9a89a4707db.tar.xz
initial commit
Diffstat (limited to 'euler20.scm')
-rw-r--r--euler20.scm16
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)
+