fork download
  1. (define (count-change-iter coins amount)
  2. (define (count-change-iter-inner coins amount changes)
  3. (if (= (length coins) 0)
  4. (vector-ref changes amount)
  5. (let ((coin (car coins)))
  6. (do ((i coin (+ i 1)))
  7. ((> i amount) (count-change-iter-inner (cdr coins) amount changes))
  8. (vector-set! changes i (+ (vector-ref changes i) (vector-ref changes (- i coin))))))))
  9. (define changes (make-vector (+ amount 1) 0))
  10. (vector-set! changes 0 1)
  11. (count-change-iter-inner coins amount changes))
  12.  
  13. (display (count-change-iter '(1 5 10 15 25 50) 100))
Success #stdin #stdout 0s 7960KB
stdin
Standard input is empty
stdout
701