Abundant, deficient and perfect number classifications: Difference between revisions
Content added Content deleted
Simple9371 (talk | contribs) m (Fixing the header link...) |
No edit summary |
||
Line 263: | Line 263: | ||
There are 15043 deficient, 4 perfect, 4953 abundant numbers between 1 and 20000. |
There are 15043 deficient, 4 perfect, 4953 abundant numbers between 1 and 20000. |
||
</pre> |
</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}}== |
=={{header|Common Lisp}}== |