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