Anonymous user
Abundant, deficient and perfect number classifications: Difference between revisions
Abundant, deficient and perfect number classifications (view source)
Revision as of 12:49, 8 July 2015
, 8 years agono edit summary
Simple9371 (talk | contribs) m (Fixing the header link...) |
No edit summary |
||
Line 263:
There are 15043 deficient, 4 perfect, 4953 abundant numbers between 1 and 20000.
</pre>
=={{header|Clojure}}==
<lang clojure>(defn pad-class
[n]
(let [divs (filter #(zero? (mod n %)) (range 1 n))
divs-sum (reduce + divs)]
(cond
(< divs-sum n) :deficient
(= divs-sum n) :perfect
(> divs-sum n) :abundant)))
(def pad-classes (map pad-class (map inc (range))))
(defn count-classes
[n]
(let [classes (take n pad-classes)]
{:perfect (count (filter #(= % :perfect) classes))
:abundant (count (filter #(= % :abundant) classes))
:deficient (count (filter #(= % :deficient) classes))}))</lang>
Example:
<lang clojure>(count-classes 20000)
;=> {:perfect 4,
; :abundant 4953,
; :deficient 15043}</lang>
=={{header|Common Lisp}}==
|