Perfect numbers: Difference between revisions

Add Seed7 example
m (Add OEIS link)
(Add Seed7 example)
Line 1,018:
(else
(loop (+ i 1) sum)))))</lang>
 
=={{header|Seed7}}==
<lang seed7>$ include "seed7_05.s7i";
 
const func boolean: isPerfect (in integer: n) is func
result
var boolean: isPerfect is FALSE;
local
var integer: i is 0;
var integer: sum is 1;
var integer: q is 0;
begin
for i range 2 to sqrt(n) do
if n rem i = 0 then
sum +:= i;
q := n div i;
if q > i then
sum +:= q;
end if;
end if;
end for;
isPerfect := sum = n;
end func;
const proc: main is func
local
var integer: n is 0;
begin
for n range 2 to 33550336 do
if isPerfect(n) then
writeln(n);
end if;
end for;
end func;</lang>
 
Output:
<pre>
6
28
496
8128
33550336
</pre>
 
=={{header|Slate}}==