RosettaCodeData/Task/Knapsack-problem-Unbounded/Clojure/knapsack-problem-unbounded-...

10 lines
276 B
Clojure

(defstruct item :value :weight :volume)
(defn total [key items quantities]
(reduce + (map * quantities (map key items))))
(defn max-count [item max-weight max-volume]
(let [mcw (/ max-weight (:weight item))
mcv (/ max-volume (:volume item))]
(min mcw mcv)))