exercism/julia/perfect-numbers/perfect-numbers.jl
2022-08-24 14:28:45 +02:00

9 lines
268 B
Julia

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