//Pascal
var
i, n, sum: integer;
begin
write('Введите число: ');readln(n);
sum := 0;
for i := 1 to n div 2 do
if n mod i = 0 then
sum := sum + i;
if n = sum then
writeln('Число ',n,' совершенное')
else
writeln('Число ',n,' не совершенное');
readln;
end.
Пример:
Введите число: 28
Число 28 совершенное
Введите число: 21
Число 21 не совершенное