Saiyine
Punto Com

Calcular si un numero es primo en Delphi - Pascal

2006-10-30 02:29:22

A petición de un visitante desde google, una sencillisima función para calcular si un número es primo. Tan sencilla, que solo me he permitido una leví­sima optimización, ya que solo busca posibles divisores entre el 2 y la raiz del número [*].

function esPrimo(x : integer) : boolean;
var
  i,r : longint;
begin
  r:=round(sqrt(x));
  for i:=2 to r do
    if (x mod i=0) then
      begin
        esPrimo:=false;
        exit;
      end;
  esPrimo:=true;
end;
    

Otras optimizaciones por si hay prisa: solo comprobar divisores impares, descartar como primos numeros terminados en 0,2,4,5,6 y 8, crear tablas de primos ya calculados para usar como divisores (google: Siega de Eratostenes), etecé, etecé.

Rollos antiguos

2006-10-26 03:47:43 - Cleaning face imperfections.

2006-10-25 02:57:53 - CLI output staying at the same line.

2006-10-25 02:57:15 - Salida en modo texto se mantiene en la misma linea.

2006-10-25 02:54:49 - Knowing what key has been pressed.

2006-10-25 02:54:05 - Saber que tecla ha sido pulsada.

Saiyine

Selfie of meHi! Welcome to Saiyine Punto Com where I talk about anything that goes through my mind!

Puedo prometer y prometo que a la mayor brevedad aquí irá un menú o algo asín.