15 lines
468 B
Clojure
15 lines
468 B
Clojure
(def denomination-kind [1 5 10 25])
|
|
|
|
(defn- cc [amount denominations]
|
|
(cond (= amount 0) 1
|
|
(or (< amount 0) (empty? denominations)) 0
|
|
:else (+ (cc amount (rest denominations))
|
|
(cc (- amount (first denominations)) denominations))))
|
|
|
|
(defn count-change
|
|
"Calculates the number of times you can give change with the given denominations."
|
|
[amount denominations]
|
|
(cc amount denominations))
|
|
|
|
(count-change 15 denomination-kind) ; = 6
|