summaryrefslogtreecommitdiff
path: root/euler76.scm
blob: 254235613179241fb8796758da057d90b6751b65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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)