(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)))))