[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