Напишите программу, которая вводит натуральное число N и определяет является ли число N совершенным. Если можно с подробным или кратким объяснением

По определению совершенным числом называется то число, которое равно сумме своих делителей отличных от самого числа. Значит,чтобы решить задачу нам нужно найти сумму делителей числа и проверить равна ли она самому числу.
var
  sum, N, i:integer;
begin
  readln(N);//читаем число с клавиатуры
 //Проверяем делатели до N-1, т.к. нам нужны делители не равные
//самому
числу
  for i:=1 to N-1 do
    if N mod i = 0 then//Если i является делителем N, то...
      sum:=sum+i;// ...прибавляем его к сумме делителей
// Проверяем равна ли сумма делителей числа самому числу.
  if sum = N then
    writeln(Число совершенное)
  else   
    writeln(Число не совершенное);
end.

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку