RosettaCodeData/Task/Perfect-numbers/Nim/perfect-numbers.nim
2023-07-01 13:44:08 -04:00

14 lines
258 B
Nim

import math
proc isPerfect(n: int): bool =
var sum: int = 1
for d in 2 .. int(n.toFloat.sqrt):
if n mod d == 0:
inc sum, d
let q = n div d
if q != d: inc sum, q
result = n == sum
for n in 2..10_000:
if n.isPerfect:
echo n