(defn !! [m n] (apply * (take-while pos? (iterate #(- % m) n)))) (doseq [m (range 1 6)] (prn m (map #(!! m %) (range 1 11))))