summaryrefslogtreecommitdiff
path: root/euler76.scm
diff options
context:
space:
mode:
authorIru Cai <mytbk920423@gmail.com>2018-05-26 16:12:24 +0800
committerIru Cai <mytbk920423@gmail.com>2018-05-26 16:12:24 +0800
commit1c76beb0d4ccf57d2db84cf417f37a3a155fb905 (patch)
tree310bbc9bc48b2860f42b9994a62c38a1b91829b8 /euler76.scm
parentc98d66aca04d0d839833b6b81bf249822c4ca350 (diff)
downloadproject_euler-1c76beb0d4ccf57d2db84cf417f37a3a155fb905.tar.xz
58, 76, 97, 104
Diffstat (limited to 'euler76.scm')
-rw-r--r--euler76.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/euler76.scm b/euler76.scm
new file mode 100644
index 0000000..2542356
--- /dev/null
+++ b/euler76.scm
@@ -0,0 +1,17 @@
+(define (sum_ways n)
+ (define (sw n min-n)
+ (cond
+ [(> min-n n) 0]
+ [(> (* min-n 2) n) 1]
+ [else (+ (sw (- n min-n) min-n) (sw n (+ min-n 1)))]
+ )
+ )
+
+ (define (sw-iter sum i)
+ (if (> (* i 2) n) sum
+ (sw-iter (+ sum (sw (- n i) i)) (+ i 1))))
+
+ (sw-iter 0 1))
+
+(display (sum_ways 100))
+(newline)