Sha256: 67296190141c8e44b6bb5e304132547c4e37e06365be4e80758478edb48d85ae
Contents?: true
Size: 580 Bytes
Versions: 393
Compression:
Stored size: 580 Bytes
Contents
(ns perfect-numbers) (defn- get-divisors "Utility function to get the divisors of a number" [number] (for [n (range 1 (inc (quot number 2))) :when (zero? (mod number n))] n)) (defn classify [number] "Classifies a positive integer as deficient, abundant or perfect" (if-not (pos? number) (throw (IllegalArgumentException. "Only positive numbers can be classified.")) (let [divisor-sum (apply + (get-divisors number))] (cond (> divisor-sum number) :abundant (< divisor-sum number) :deficient (= divisor-sum number) :perfect))))
Version data entries
393 entries across 393 versions & 1 rubygems