Листинг программы
program z18; {Напечатать все совершенные числа меньше m}
{ Справка: Совершенными называются числа сумма делителей включая 1,
которых равна самому числу, делители не должны быть
равны самому числу }
uses crt;
var i,j,k,m,sum:longint;
b:array[1..50]of longint;
begin
clrscr;
write('введите ограничение: ');readln(m);
i:=1;{write('1');}
while i<=m do
begin
sum:=0;k:=1;
for j:=1 to i-1 do if i mod j=0 then begin
b[k]:=j;inc(k);
end;
for j:=1 to k-1 do sum:=sum+b[j];
if i=sum then write(' ',i);inc(i);
end;
readln;
end.