Предмет: Информатика,
автор: jonawormo
Буду признательна за помощь! Нужно написать программу на Паскале ABC
1. Вводится последовательность целых чисел, 0 -конец последовательности. Определить, содержит ли последовательность хотя бы одно совершенное число. Для определения совершенного числа создать функцию.
Заранее спасибо!
Ответы
Автор ответа:
1
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:
Обя́сните формулы sum и почему параметр равен 2?
Похожие вопросы
Предмет: Математика,
автор: Mashatry
Предмет: Химия,
автор: sirykviktoria482
Предмет: Биология,
автор: joy95rene
Предмет: Физика,
автор: crazycatt
Предмет: Математика,
автор: levakt1