![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||||||
|
||||||||
|
Victor Luis,
Cita:
En lo personal, he hecho pruebas comparativas entre el Algoritmo de Divisiones Sucesivas, el Algoritmo de Eratóstenes y el Algoritmo de Atkin y en un rango de 2 a 500.000.000, los archivos resultantes son similares (26.355.867 Números Primos), lo que varía es el tiempo de generación. En otra prueba realizada en un rango de 2 a 2.147.483.615, el Algoritmo de Eratóstenes genero 105.097.563 Números Primos los cuales fueron probados aleatoriamente sin encontrar ningún número compuesto en la secuencia. Cita:
Cita:
Cita:
Cita:
Cita:
Cita:
Cita:
![]() Espero sea útil ![]() Nelson. |
|
#2
|
|||
|
|||
|
Holas Nelson...
Pues debo retractarme o explicar mejor lo que dije... en si me referia a la Criba de Eratostenes donde se ponen secuencialmente los numeros naturales en 6 columnas y los numeros primos estarian en la 1º y 5 columna. Revise las direcciones que adjuntaste y lei el algoritmo de Eratostenes que marcando los multiplos desde el 2, los que quedan son numeros primos y con estos se marcan sus multiplos. ○ Si cargas un vector con numeros base parecido a Eratostenes como lo indique sumando +2 y +4 comenzando desde el 5 tendras: 5_7 11_13 17_19 23_25 29_31 35_37 41_43 47_49 51_53 Como ves hay muchos no primos a depurar; pero si lo exportas a una hoja de Excel en una sola columna 5 7 11 13 17 19 23 25 29 31 35 37 41 43 47 49 53 55 59 61 65 67 71 73 77 79 83 85 89 91 95 97 Veras que hay una secuencia fija para depurar los multiplos de cada numero primo, por ejemplo inicias con el 5 comenzando desde su 5º multiplo 5x5=25 que seria el 1º y su posicion en el vector es el [8]=25, el siguiente a depurar 2º es 3 datos o filas mas abajo [11]=35. Yo los veo como grupo de multiplos a depurar, por eso digo 1º y 2º. Los siguientes multiplos del primo estan en las filas [18] y [21], para saber esto sumo 10 filas del 1º multiplo del anterior grupo [8]+10= [18] a este le sumo 3 filas 18+3= [21] y es el 2º multiplo del grupo. Lo mismo sucede con el numero primo 7 donde el multiplo de inicio es 7x5=35 [11] a este le sumas +5 y sera el 2º multiplo del grupo y esta en [16]. Para el siguiente grupo sumas 11+14=[25] y 25+5= [30] y asi se marcan o depurar todos sus multiplos. ○ No se si aplicaste esto en el algoritmo de Eratostenes; pero para depurar esta secuencia, cada numero primo te indica en que fila o posicion estan sus multiplos, en lugar de cargar un vector con numeros secuencialmente y marcar por ejemplo del 5 → 10,15,20,25,30,35,40,45,50,55,60,... ◘ Ese era el segundo metodo que realice luego del metodo clasico, que desde luego es mas rapido, solo usas bucles para ir depurando, pues ya sabes donde estan los multiplos de cada numero primo, incluso puedes calcular la posicion del 1º multiplo, de modo que obtienes numeros primos sin usar If_Then, con este metodo reduje el tiempo para buscar primos en un rango de 1 millon de 42 seg a 2 seg. ► Sobre este metodo no he encontrado referencias, tu me diras si es parecido al algoritmo de Eratostenes o no. Lo malo es que tarda mucho, comparando con PRI-BASE que es mas selectivo y directo, lo hace en 1/3 de tiempo que el anterior. ◘ Tomare en cuenta las recomendaciones que me das y practicare un poco mas Delphi 7 y lo de publicar mi explicacion, la verdad no se donde, pues en algunos foros, solo recibes notas que piden publicar el codigo y demas tonterias donde no hay un poco de seriedad. ◘ Sobre el avance de mi metodo, te comento que el primer dato que tenia que evaluar, esta bien y ya obtengo numeros primos mas de 1 billon y los comprobe con factoris y dejo el enlace para los que quieran verlo en Youtube... http://www.youtube.com/watch?v=-GUMPYAqa-o&feature=youtu.be Estos son los ultimos primos encontrados y verificados: 1039999998781 1039999998853 1039999998899 1039999998901 1039999998907 1039999998937 1039999998949 1039999998979 1039999999001 1039999999019 1039999999021 1039999999033 1039999999063 1039999999067 1039999999069 1039999999097 1039999999177 1039999999217 1039999999271 1039999999343 1039999999351 1039999999373 1039999999393 1039999999421 1039999999427 1039999999471 1039999999481 1039999999483 1039999999499 1039999999513 1039999999523 1039999999559 1039999999561 1039999999607 1039999999631 1039999999651 1039999999699 1039999999711 1039999999721 1039999999723 1039999999751 1039999999777 1039999999783 1039999999817 1039999999847 1039999999853 1039999999867 1039999999891 1039999999963 1039999999981 |
|
#3
|
||||
|
||||
|
Cita:
Así que, resumiendo, te aconsejo que practiques lo que criticas: menos tonterías y más seriedad, gracias.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
||||
|
||||
|
Victor Luis,
Cita:
Cita:
Cita:
Si esperas poder presentar tu trabajo a nivel académico debes tener una fuerte base matemática y en computación, haber revisado los métodos publicados sobre este tema, indicar claramente en que consiste tu algoritmo, cuales son sus ventajas sobre los métodos anteriores y ser capaz de demostrar todo lo sustentado en tus afirmaciones, el mundo académico es ciertamente muy exigente en este sentido. Te sugiero considerar todo lo comentado en este hilo y nuevamente mucha suerte en tu proyecto ![]() Espero sea útil ![]() Nelson. |
|
#5
|
||||
|
||||
|
Cita:
![]() Que quede claro, Victor Luis, que no tengo nada personal contra ti, saludos.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#6
|
|||
|
|||
|
Holas Nelson y Casimiro...
Me disculpo ante el Foro Delphi y en especial ante ustedes... creo que me excedi un poco pero no es por el foro ni sus organizadores; pero hubo algunos comentarios que estaban fuera de lugar por otros miembros del foro, que manifestaban que publique el codigo sino no te creemos y eso va contra mi manera de ser y mi personalidad, no me conocen, espero un dia si.... ○ Se que es un Foro Delphi, el primer lenguaje que aprendi fue Basic en colegio, usando los Atari computer, despues de mucho tiempo todo era diferente y aprendi Pascal y de ahi Delphi con lo que hice varias aplicaciones. Luego consegui Visual Basic y medio me perdi; por lo que empece a usar VBA Excel para hacer programas para mi Laboratorio y despues copie elcodigo a Visual Basic, modifique algo y era casi lo mismo, lo que me resulto mas sencillo.... ◘ Pero sera un compromiso... Intensificare mis conocimientos en Delphi... como dice Nelson es un leguaje eficiente... eso tambien lei de Java pero medio voy por ahi... ○ Respecto a lo que dice Casimiro de compartir conocimientos y trucos y mas.... estoy de acuerdo; pero no solo mediante la publicacion de codigo fuente. Si vieron, les comparti el metodo que para mi es simplicado y mejor que Eratostenes, les indique como depurar los multiplos de la secuencia extraida con las sumas +2 +4 y que los multiplos para mi estan en grupos de 2 multiplos, estos saltos o posiciones son propias para los multiplos de cada numero primo y se repiten. ◘ Con esto Casimiro creo estar aportando al foro y al tema en cuestion del Problema al Generar Numeros Primos, el tiempo del proceso se reducira significativamente y podra hacer busquedas de numeros mas grandes... La cosa esta en que quieren el codigo fuente y por ahora no lo tengo en Delphi, pues es un metodo que lo deje de usar porque encontre otros 3 metodos mejores y el 4º fue el que uso ahora... ○ Pero si tienen alguna duda al respecto... estoy predispuesto a brindar mi colaboracion como lo hace mi amigo Nelson... ○ Sobre el ultimo comentario de Nelson dire que lo se amigo... Gracias por recordarmelo, no soy matematico y mis conocimientos de programacion son del promedio medio o regular y es esto lo que me motiva a seguir adelante. ◘ Un dia publicare mi metodo, luego de ajustar el 2º dato que me falta al pasar el cuatrillon, veran que es verificable y repetible, lo que si no creo poder exponer una formula como los que hay, que no los entiendo; pero estoy seguro que en base a esta logica surgiran formulas e ideas que mejoren la busqueda de numeros primos... al menos esa es mi espectativa. Por ahora no puedo hacerlo presentar un metodo que esta desarrollado hasta el 95%, soy prudente en ello pues como bien dice Nelson "el mundo académico es ciertamente muy exigente en este sentido" ◘ Bueno amigos me ausentare un tiempo breve por asuntos de trabajo y no les molestare con mis tonterias... espero les vaya bien en el desarrollo del metodo... NOTA. (para Nelson) Mi hermano Nelson Arteaga que actualmente radica en Puno-Peru tiene acceso a mi equipo y todos mis apuntes de los analisis realizados. ○ Un favor, si sabes de donde puedo descargar un Manual de Delphi 7 en español, te lo agradeceria.... |
|
#7
|
|||||
|
|||||
|
Victor Luis,
Cita:
Revisa estos Tutorials de Delphi: Cita:
Cita:
Cita:
Cita:
Suerte ![]() Espero sea útil ![]() Nelson. Última edición por Casimiro Noteví fecha: 16-10-2013 a las 09:51:30. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| 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 |
|