Ver Mensaje Individual
  #5  
Antiguo 08-10-2013
Victor Luis Victor Luis is offline
Miembro
NULL
 
Registrado: oct 2013
Posts: 25
Reputación: 0
Victor Luis Va por buen camino
Mejorar el tiempo de busqueda de Numeros Primos

Holas...

Muy bueno el codigo de Garcia, solo que esta limitado a busquedas menores, si ponemos n=1.500.000 tardara un poco mas de 6 minutos que seria encontrar primos hasta 25 millones como limite de busqueda y si n=3.001.146 para encontrar numeros primos hasta 50.000.000 tarda mas de 20 minutos y logicamente al ir incrementando esto se demora cada vez mas. Esto sucede basicamente por 2 razones: 1) Evaluan todos los numeros naturales secuencialmente, donde se deberia no evaluar numeros que sean multiplos de 2, 3 y 5 que de hecho no son primos. 2) Evaluas si es multiplo cada numero natural desde 2 hasta la raiz cuadrada del numero en evaluacion, donde al incrementarse el numero tambien se incrementan los calculos y el tiempo se alarga de una manera exponencial 2/4/8/16/...

◘ El metodo PRI-BASE genera una secuencia base de numeros naturales donde el 50-75% son casi directamente primos, de los cuales solo hay que depurar los que no son primos. En un Rango de 1 a 50.000.000 busca y saca numeros primos en 24-27 segundos y sacar primos en un rango de 1.000.000.000 lo hace en menos de 9 minutos donde encuentra en promedio 36.500.000 nuevos numeros primos.
○ Este tiempo reducido no solo es por generar la secuencia base de numeros casi primos, sino esencialmente porque no factoriza ni realiza calculos para saber si es multiplo de numeros primos anteriores al numero ni hasta su raiz cuadrada; simplemente determina una secuencia para depurar de la base de numeros generados, eliminando los no primos y guardando los nuevos numeros primos.
► Lo que deben considerar si desean buscar numeros primos grandes, es el metodo, si evaluan para saber si es multiplo de otros primos, elproceso sera lento por los calculos, llegara un momento en que las variables no podran hacer estos calculos y necesitaran mucho espacio en su disco duro o enlazar tipo red varias computadoras para almacenar todos los numeros primos que saquen pues los necesitan para ver si es multiplo entre estos.

◘ La sugerencia esta dada, para que lo tomen en cuenta, sin desmerecer los metodos que proponen y funcionan bien hasta cierto limite; el consejo es para quienes quieran buscar numeros primos con millones de digitos.

Un saludo cordial a todos y sigan adelante...
Responder Con Cita