Eratóstenes era un matemático griego del siglo III a.C. el cual ideó una manera rápida de obtener todos los números primos (un número primo es aquel que sólo es divisible por 1 y por sí mismo) menores que un numero natural dado. Este procedimiento consiste en una tabla con todos los números naturales comprendidos entre 2 y N (el uno no se toma en cuenta), al inicio del procedimientos, todos los números son considerados primos, a continuación se van tachando los números que no son primos de la siguiente manera:
Este procedimiento se denomina Criba de Eratóstenes, el cual veremos cómo funciona paso a paso a continuación
Empezamos colocando los números del 2 al 36 en una tabla. El 1 no lo colocamos ya que no se considera un número primo.
Primero, buscamos los múltiplos de 2 y los marcamos (exceptuando el 2, que sabemos que sólo tiene como divisores 1 y 2, así que es primo).
Ahora, de los que quedan, buscamos los múltiplos de 3 y los marcamos (exceptuando el 3, que es primo).
Ahora es el turno de buscar los múltiplos de 5 (de 4 no haría falta, porque todos los múltiplos de 4 también son múltiplos de 2, así que ya los hemos marcado anteriormente). Dejamos el 5 sin marcar, ya que es primo.
La condición para parar de buscar, según el algoritmo, es de que N sea menor a la raíz cuadrada del total de números 0 lo que es lo mismo, que N*N < Total_Numeros. Es decir para nuestro ejemplo de 2 a 36, 5×5 < 36, si, pero 6*6 < 36, no, entonces dejamos de buscar y la tabla de primos es:
A continuación se muestra la búsqueda para N = 120
Descarga el código fuente del programa utilizado en este post desde este <<ENLACE POBRE>>
enjoy!
En este post, escribiremos un sencillo plugin para wordpress el cual consistirá en reemplazar palabras en los comentario[...]
El modelo Tweetbotornot es un algoritmo de aprendizaje automático que se entrenó en miles de cuentas reales de bot y no[...]
OS.js a pesar de lo que sugiere su nombre, no es en si un Sistema Operativo, es más, en su web oficial no se nombra por[...]
im4java es una interfaz pura de Java para la línea de comandos de ImageMagick. La interfaz de la línea de comandos de IM[...]
Python es un lenguaje de programación interpretado, de programación multiparadigma, ya que soporta orientación a objeto[...]
Material Design introduce una nueva forma de mostrar notificaciones al usuario, estos son los snackbar, similares a los[...]