Calculos - numero primo

Top  Previous  Next

Uses Math;

 

Function IsPrimo(Numero : Longint):Boolean;

var

  Divisor, MaxDivisor: Longint;

  Achou: boolean;

begin

  Achou := false;

  Divisor := 1;

  MaxDivisor := Trunc(Power(Numero, 0.5));

  If Numero > 3 then

  Repeat

      Inc(Divisor);

      Inc(Divisor);

      Achou := (Numero mod Divisor) = 0;

  Until (Divisor > MaxDivisor) or Achou;

  Result := NOT Achou;

end;