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

15 lines
311 B
Text

procedure main(arglist)
limit := \arglist[1] | 100000
write("Perfect numbers from 1 to ",limit,":")
every write(isperfect(1 to limit))
write("Done.")
end
procedure isperfect(n) #: returns n if n is perfect
local sum,i
every (sum := 0) +:= (n ~= divisors(n))
if sum = n then return n
end
link factors