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

Ответы

Ответ дал: iolandavalerypad353
0

function isPerfect(n: integer): boolean;

begin

 if n > 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 <> 0;

 Print(contain);

end.

Ответ дал: jonawormo
0
Обя́сните формулы sum и почему параметр равен 2?
Вас заинтересует