Совершенным называется такое число, которое равно сумме всех своих делителей, за исключением самого числа, например, 28 = 1 + 2 + 4 + 7 + 14 — Pascal(Паскаль)

CONST
  FromNo = 1;
  ToNo   = 255;

function perfect(n: Word): Boolean;
var i, sum: Word;
begin
  if n = 1 then perfect := FALSE
  else
  begin
    sum := 0;
    for i := 1 to n-1 do
       if n mod i = 0 then sum := sum + i;
    perfect := sum = n
  end;
end;

var k: Integer;
BEGIN
  for k := FromNo to ToNo do
    if perfect(k) then Write(k:4);
  WriteLn
END.

Leave a Comment

80 + = 88