{совершенные числа}
function sovr(var n: integer): boolean;
var i,s: integer;
begin
s:=1;
for i:=2 to (n div 2) do
if (n mod i)=0 then s:=s+i;
if (s>1) and (s=n) then Result:=true
else Result:=false;
end;
{основная программа}
var i: integer;
begin
for i:=1 to 1000 do
if sovr(i) then writeln('совершенное число: ',i);
end.