se ve muy interesante, lo voy a utilizar a ver que tal, aunque tengo mas un problema de estructura de la red pues nunca he configurado algo así
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú#!/usr/bin/env python
#Buscador de Numeros primos a partir de un numero dado
# Juan Fernando Hernandez
# Universidad de Antioquia - Matematicas Discretas
# uso: python eratostenes_criba.py numero_inicial
from math import sqrt
import sys
# Lista de primos y semaforo de llenado de lista
lista_p = [2]
ultimo_numero = 2
breaker = 1
# Busqueda de primos (true->primo || false->compuesto)
def primo(numero):
# si es divisible por la lista no es primo (Retorna falso)
for i in lista_p:
modulo = numero % i
if (modulo == 0): return False
# Se sabe que como el numero inmediatamente anterior en el bucle es
# menor, todos los primos de la lista < raiz de numero actual
return llenar_lista(numero)
def llenar_lista(numero):
global breaker
global ultimo_numero
raiz = long(sqrt(numero))
# Necesario para no comprobar todos los primos de la lista
# se establece un breaker
lista_p_len = len(lista_p)
raiz_raiz = long(sqrt(raiz))
for i in range(breaker,lista_p_len):
if (lista_p[i] >= raiz_raiz):
breaker = i;
break;
ultimo_numero += 1
for i in range(ultimo_numero,raiz+1):
for n in range(0,breaker):
modulo = i%lista_p[n]
if (modulo == 0):
break
elif (n == breaker-1):
lista_p.append(i)
modulo_numero = numero % i
if(modulo_numero == 0):
ultimo_numero = i
return False
ultimo_numero = raiz
return True
def main():
#n = 10000000000000000000 #Numero minimo
n = long(sys.argv[1]) # Minimo numero desde el cual buscar el proximo primo
while True:
print "Probando primo: ", n
if(primo(n)):
break;
n += 1
print "Primo encontrado: ", n
if __name__ == "__main__":
main()