function aliquot_sum(n) n <= 0 && throw(DomainError("Aliquot sum only exists for natural numbers")) sum([x for x in 1:div(n, 2) if mod(n, x) == 0]) end isperfect(n) = aliquot_sum(n) == n isabundant(n) = aliquot_sum(n) > n isdeficient(n) = aliquot_sum(n) < n