(defn calc-coins [amount denom]
  {(-> denom str keyword)
   {:mod (mod amount denom),
    :dividend (int (/ amount denom))}})

(defn clos [amount]
  (let [denoms '(20 10 5 1 0.25 0.1 0.05 0.01)]
    (for [i denoms]
      (if (> amount 0)
        (calc-coins amount i)))))

Generated by matt using scpaste at Sun Jul 10 07:05:28 2011. HADT. (original)