[pyar] Soy novato y tengo dudas con los bucles en python.
Alejandro Santos
listas en alejolp.com
Lun Nov 21 04:41:53 ART 2011
2011/11/21 Javier Marín <nano.world.contact en gmail.com>:
>
> La cosa es simple, si mi mi número es más de dos veces divisible entre otros
> números, no es primo.
> Mil gracias... ahora, ese código funciona pero... ¿Podría ser más
> eficiente?
>
Algo que podés hacer para que sea más eficiente es, en vez de recorrer
los números desde el 2 hasta el N-1, podés recorrer desde el 2 hasta
la (raíz cuadrada del N) + 1.
Para calcular la raiz cuadrada de un numero tenés que usar la función
sqrt del módulo math. Por ejemplo:
import math
raiz = math.sqrt(66)
La función sqrt(x) devuelve un numero en punto flotante. Si querés
usar el resultado con la funcion range deberías convertir el resultado
a un entero (perdiendo los decimales después de la coma). Ejemplo:
import math
raiz = int( math.sqrt(66) )
El resultado de sqrt(66) es 8.124, y cuando lo convertís a un entero
con la función int(x) devuelve 8.
--
Alejandro Santos
More information about the pyar
mailing list