[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