[pyar] Soy novato y tengo dudas con los bucles en python.

Walter R. Ojeda Valiente wojedav en gmail.com
Lun Nov 21 13:56:40 ART 2011


No Adrián, no se trata aquí de un cuadrado perfecto, sino de los divisores
necesarios para descubrir si un número es primo o no. Puedes hacer la
prueba, toma cualquier número y halla todos sus divisores, verás que
SIEMPRE para obtenerlo como resultado al menos uno de los factores es menor
o igual que la raíz cuadrada de ese número.

Tomemos por ejemplo el número 32, su raíz cuadrada es 5 y algo, la
redondeamos en 5 porque los decimales no nos interesan. Los factores de 32
son:
2 * 16     -- el 2 es menor o igual que 5
4 * 8       -- el 4 es menor o igual que 5

Tomemos ahora como ejemplo el número 36, su raíz cuadrada es 6 y sus
factores son:
2 * 1       -- el 2 es menor o igual que 6
3 * 12     -- el 3 es menor o igual que 6
4 * 9       -- el 4 es menor o igual que 6
6 * 6       -- el 6 es menor o igual que 6

Prueba con cualquier número que quieras, SIEMPRE al menos uno de los
factores será menor o igual que el entero de su raíz cuadrada. Por lo
tanto, no es eficiente que el ciclo continúe más allá del entero de la raíz
cuadrada (en otras palabras, ese + 1 que escribiste está de más porque no
es necesario llegar tan lejos para saber si un número es primo o no).

Saludos.

Walter.



2011/11/21 Alejandro Santos <listas en alejolp.com>

> 2011/11/21 Walter R. Ojeda Valiente <wojedav en gmail.com>:
> > Alejandro, sólo una pequeña corrección: no hace falta recorrer desde 2
> hasta
> > la (raíz cuadrada de N) + 1.
> >
> > Con recorrer desde 2 hasta la (raíz cuadrada de N) será suficiente, no es
> > necesario sumarle ese 1.
> >
> > Si a alguien le interesa la demostración del por qué, se lo puedo
> explicar.
> >
>
> ¿Un cuadrado perfecto? Supongo que la rigurosidad matemática no era el
> principal objetivo de este hilo.
>
> --
> Alejandro Santos
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>



-- 
Hay 10 clases de personas. Las que conocen aritmética binaria y las que no.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20111121/13eeffe6/attachment.html>


More information about the pyar mailing list