Prueba de primalidad en Python
División por tentativa: la prueba de primalidad más simple que vale la pena escribir.
def es_primo(n):
if n < 2:
return False
if n % 2 == 0:
return n == 2
i = 3
while i * i <= n:
if n % i == 0:
return False
i += 2
return True
Cómo funciona
- Descarta temprano los números menores que 2 y los pares salvo el 2.
- Prueba divisores impares hasta la raíz cuadrada.
- Cualquier divisor significa compuesto; ninguno, primo.
Palabras clave y builtins usados aquí
defifreturnwhile
El intento, en números
- Líneas
- 11
- Caracteres a escribir
- 139
- Tokens
- 50
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 33 segundos.
Paso 7 de 7 en Control de flujo; paso 22 de 72 en Fundamentos del lenguaje.