RosettaCodeData/Task/Perfect-numbers/Crystal/perfect-numbers.cr
2026-04-30 12:34:36 -04:00

8 lines
177 B
Crystal

struct Int
def perfect?
zero = typeof(self).new(0)
self == (zero+1 .. self//2).sum(zero) {|i| self % i == 0 ? i : 0 }
end
end
p (1..10_000).select(&.perfect?).to_a