RosettaCodeData/Task/Perfect-numbers/Ruby/perfect-numbers-3.rb

8 lines
139 B
Ruby

def perf(n)
divisors = []
for i in 1..Math.sqrt(n)
divisors << i << n/i if n % i == 0
end
divisors.uniq.inject(:+) == 2*n
end