divBy x y = y `mod` x /= 0 divBy3or5 x = divBy 3 x || divBy 5 x euler1 n = sum [x | x <- [0..n], divBy3or5 x] main = print $ euler1 1000
euler1 n = sum [x | x <- [0..n], divBy 3 x, divBy 5 x]
(defn euler1 [n] (reduce + (filter (fn [x] (or (div-by 3 x) (div-by 5 x)))) (range n)))
(defn euler1 [n] (reduce + (filter #(or (div-by 3 %) (div-by 5 %)))) (range n)))
(defn euler1 [n] (reduce + (for [x (range n) :when (or (div-by 3 x) (div-by 5 x))] x)))