RosettaCodeData/Task/Perfect-numbers/Clojure/perfect-numbers-1.clj

10 lines
202 B
Clojure

(defn proper-divisors [n]
(if (< n 4)
[1]
(->> (range 2 (inc (quot n 2)))
(filter #(zero? (rem n %)))
(cons 1))))
(defn perfect? [n]
(= (reduce + (proper-divisors n)) n))