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.