Буду признательна за помощь! Необходимо написать программу на Паскале ABC1. Вводится

Буду признательна за помощь! Необходимо написать программку на Паскале ABC
1. Вводится последовательность целых чисел, 0 -конец последовательности. Определить, содержит ли последовательность хотя бы одно совершенное число. Для определения совершенного числа сделать функцию.
Заблаговременно спасибо!

Задать свой вопрос
1 ответ

function isPerfect(n: integer): boolean;

begin

 if n gt; 1 then

 begin

   var sum := 0;

   for var i := 2 to Trunc(Sqrt(n)) do

     if n mod i = 0 then

       sum += (i + n div i);

   result := (sum + 1 = n)

 end

end;

begin

 var n: integer;

 var contain := False;

 repeat

   Read(n);

   if isPerfect(n) then contain := True

 until n lt;gt; 0;

 Print(contain);

end.

Яна Хлистунова
Обясните формулы sum и почему параметр равен 2?
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт