Skip to content

Instantly share code, notes, and snippets.

@brokaw
Created September 20, 2011 15:48
Show Gist options
  • Save brokaw/1229466 to your computer and use it in GitHub Desktop.
Save brokaw/1229466 to your computer and use it in GitHub Desktop.
count-change from SICP Chapter 1
(define (count-change amount)
(cc amount 5))
(define (cc amount kinds-of-coins)
(cond ((= amount 0) 1)
((or (< amount 0) (= kinds-of-coins 0)) 0)
(else (+ (cc amount
(- kinds-of-coins 1))
(cc (- amount
(first-denomination kinds-of-coins))
kinds-of-coins)))))
(define (first-denomination kinds-of-coins)
(cond ((= kinds-of-coins 1) 1)
((= kinds-of-coins 2) 5)
((= kinds-of-coins 3) 10)
((= kinds-of-coins 4) 25)
((= kinds-of-coins 5) 50)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment