![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Problema al generar primos en Delphi
Hola,lo que ocurre es que cuando ejecuto mi programa genera el numero de primos que le pedi pero solamente a partir del numero ingresado,es decir,si coloco un valor de n=7, los numero que me muestra son 7 11 13 17 19 23 29, o si ingreso 4 seria 5 7 11 13, lo que yo qeria conseguir era ungresar un numero n,y que me mostrase los n primeros numeros primos pero tengo ese problema,les agradezco de antemano.
el programa es el siguiente
|
#2
|
||||
|
||||
XavierAramayo,
Cita:
Revisa este código: El código anterior genera n números primos dado un número límite de la función generatriz, como se muestra en la siguiente imagen: ![]() El ejemplo esta disponible en el link: http://terawiki.clubdelphi.com/Delph...mber+Prime.rar Espero sea útil ![]() Nelson. Última edición por nlsgarcia fecha: 05-10-2013 a las 07:59:40. |
#3
|
||||
|
||||
XavierAramayo,,
Continuación del Msg #2: Cita:
El código anterior, genera n números primos desde el 2 hasta un máximo definido como parámetro en la función generatriz, como se muestra en la siguiente imagen: ![]() El ejemplo esta disponible en el link: http://terawiki.clubdelphi.com/Delph...me_Numbers.rar Espero sea útil ![]() Nelson. Última edición por nlsgarcia fecha: 05-10-2013 a las 18:36:13. |
#4
|
|||
|
|||
Muchas gracias [nlsgarcia],ya lo consegui,gracias!
|
#5
|
|||
|
|||
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... |
#6
|
||||
|
||||
¿Y por qué no lo explicas poniendo el código fuente de ejemplo?, así como lo has explicado queda muy "aséptico y vaporoso", pero no vemos nada tangible
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
11 millones de números primos | ixMike | La Taberna | 15 | 06-10-2013 00:00:37 |
Suma de dígitos primos - Simplificar código | Subliminalz | Varios | 3 | 12-06-2013 00:00:22 |
Ayuda con numeros primos | Jcn | Varios | 4 | 28-05-2013 01:39:20 |
Como obtengo numeros primos ? | llSnakell | Varios | 13 | 05-10-2011 03:56:09 |
Promedio.. digitos primos .. | luisito2011 | Varios | 3 | 07-05-2011 02:54:02 |
![]() |
|