Mirando un poco las curiosidades con los números, me encontré con éstos, los números perfectos.

¿Qué son?
Un número perfecto es un número natural cuya suma de los divisores propios positivos (+) es igual a sí mismo.

Por ejemplo, 28 es un número perfecto ya que la suma de los divisores: 1 + 2 + 4 + 7 + 14 es igual a 28.

Ahora, he decidido crear una función en Pascal que retorna Verdadero (True) o Falso (False) si un número introducido es perfecto.

function PerfectNumber(iNum:Integer):Boolean;
var
  Suma,I:Integer;
begin
  Suma := 0;
  Result := False;
  for I := 1 to Pred(iNum) do
    if (iNum Mod I = 0) then
      Suma := Suma + I;
 
  if iNum = Suma then
    Result := True;
end;