Число считается совершенным, если оно равно сумме своих делителей, исключая себя самого. Для проверки, является ли число N совершенным, полагаем будущую сумму делителей равной 1 (на единицу число всегда делится) и последовательно делим N на числа, начиная от 2 и заканчивая N/2.Если число делится без остатка на очередной делитель, добавляем его к сумме. После завершения цикла делений сравниваем сумму с N и в случае равенства объявляем число N совершенным. В начале алгоритма проверяем, чтобы N было больше 1, в противном случае сразу объявляем число не совершенным.var i,n,s:longint;begin Write('Введите натуральное число: '); Read(n); if n=1 then Writeln('Число 1 не является совершенным') else begin s:=1; for i:=2 to (n div 2) do if (n mod i)=0 then s:=s+i; if s=n then Writeln('Число является совершенным') else Writeln('Число не является совершенным') endend.
Тестовое решение:Введите натуральное число: 33550336Число является совершеннымВведите натуральное число: 543252Число не является совершенным