15 lines
311 B
Text
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
|