Буду признательна за помощь! Нужно написать программу на Паскале ABC 1. Вводится последовательность целых чисел, 0 -конец последовательности. Определить, содержит ли последовательность хотя бы одно совершенное число. Для определения совершенного числа создать функцию. Заранее спасибо!
program PerfectNumber; function IsPerfectNumbernum:integernum: integernum:integer: boolean; var sum, i: integer; begin sum := 0; for i := 1 to num div 2 do begin if num mod i = 0 then sum := sum + i; end; IsPerfectNumber := sum = num; end; var n, num: integer; hasPerfectNumber: boolean; begin hasPerfectNumber := false; repeat write′Введитечисло:′'Введите число: '′Введитечисло:′; readlnnumnumnum; if num <> 0 then begin if IsPerfectNumbernumnumnum then begin hasPerfectNumber := true; break; end; end; until num = 0; if hasPerfectNumber then writeln′Последовательностьсодержитхотябыодносовершенноечисло.′'Последовательность содержит хотя бы одно совершенное число.'′Последовательностьсодержитхотябыодносовершенноечисло.′
else writeln′Последовательностьнесодержитсовершенныхчисел.′'Последовательность не содержит совершенных чисел.'′Последовательностьнесодержитсовершенныхчисел.′; end.
Эта программа позволяет ввести последовательность целых чисел, пока не будет введен ноль. Затем программа определяет, содержит ли введенная последовательность хотя бы одно совершенное число число,равноесуммевсехсвоихделителей,кромесамогосебячисло, равное сумме всех своих делителей, кроме самого себячисло,равноесуммевсехсвоихделителей,кромесамогосебя.
function IsPerfectNumbernum:integernum: integernum:integer: boolean;
var
sum, i: integer;
begin
sum := 0;
for i := 1 to num div 2 do
begin
if num mod i = 0 then
sum := sum + i;
end;
IsPerfectNumber := sum = num;
end;
var
n, num: integer;
hasPerfectNumber: boolean;
begin
hasPerfectNumber := false;
repeat
write′Введитечисло:′'Введите число: '′Введитечисло:′;
readlnnumnumnum;
if num <> 0 then
begin
if IsPerfectNumbernumnumnum then
begin
hasPerfectNumber := true;
break;
end;
end;
until num = 0;
if hasPerfectNumber then
writeln′Последовательностьсодержитхотябыодносовершенноечисло.′'Последовательность содержит хотя бы одно совершенное число.'′Последовательностьсодержитхотябыодносовершенноечисло.′ else
writeln′Последовательностьнесодержитсовершенныхчисел.′'Последовательность не содержит совершенных чисел.'′Последовательностьнесодержитсовершенныхчисел.′;
end.
Эта программа позволяет ввести последовательность целых чисел, пока не будет введен ноль. Затем программа определяет, содержит ли введенная последовательность хотя бы одно совершенное число число,равноесуммевсехсвоихделителей,кромесамогосебячисло, равное сумме всех своих делителей, кроме самого себячисло,равноесуммевсехсвоихделителей,кромесамогосебя.