Existen muchas formas de hallar números primos, uno de los ejercicios clásicos es tal ves generar la serie de los números primos, esto es 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, …
Ahora que tal si nos piden generar los n primeros términos de la serie de los primos, fácil no?, pero que tal si nos lo piden hacerlo con un solo ciclo repetitivo (while o for), interesante y un poco complejo, pero este algoritmo lo resuelve óptimamente con un solo ciclo repetitivo y además sencillo, véalo usted mismo su diagrama de flujo.
Este algoritmo me trajo muchas satisfacciones personales, es por eso que le debo mucho y te aconsejo que te lo memorices ya que te servirá de mucho si es que estas empezando con el mundo de la programación. El código Java es el siguiente:
Scanner e = new Scanner(System.in); int n = e.nextInt(); int c = 1; int p = 2; int d = 2; while (c <= n) { if (p % d == 0) { if (p == d) { System.out.print(p + ", "); c++; } d = 2; p++; } else d++; }
Muy sencillo no?, lo que antes era un dolor de cabeza para muchos iniciadores de la programación ahora es pan comido. Descárgate el código completo Java del siguiente enlace.
Hola daniel un abrazo fuerte y un saludo cordial
ResponderEliminarme encanta este blog que preparaste hay temas muy interesantes es toda una nueva formacion y actual la que se hace y de lo cual nosotros necesitamos facilidad a la informacion gracias apor eso es un gran aporte lo que tu haces con esta clase de cosas nos das una mano en ti un apoyo gracias por todo me despito hasta otra oportinidad de un amigo y alumno
Muy sencillo el algoritmo para memorizar.
ResponderEliminarLo importante no es memorizar el algoritmo.... si no realmente como funciona, eso es uno de los muchos errores que cometemos al empezar con el aprendizaje de algoritmos.
ResponderEliminaragradesco que compartas tus conocimientos ayudas a gente que quiere progresar en el mundo de la programacion pero a su ves muchos no les interesa ese ambiente solo les importa pasar.
ResponderEliminarmis felicitaciones para ti y tu pagina.
desde el estado duenio de la ciudad mas peligrosa del mundo. :D
HOLAAAA necesito una ayuda!! tu programa esta cool.. pero a mi prof ademas de eso se le ocurrio hacer un programa que determine cuales son numeros primos en una serie dada.. plisss necesito ayudaaaaa!!! como lo hago???
ResponderEliminargracias me ayudo mucho resolví mis dudas solo espero que genere todos los primos , haciendo la prueba de escritorio sale así que estoy muy contento por todo atte. j.p.m.v. esta
ResponderEliminarhola, yo en verdad necesito ayuda con un programa que lea "x"
ResponderEliminarnumero y me diga los numeros anteriores a esto incluyendolo yo no tengo ni idea d ecomo hacerlo soy nueva en esto ayudaaaa por favor......
para los diez primeros numeros pares e impares intercalados , como podria ser.
ResponderEliminarbien
ResponderEliminarbuenismio me gustaria que ma ayudases ya q recien comienzo mis clases de programacion y que explicaras un pòco mas, me pidieron generar los n primeros numeros primos aun no se programar estamos en diagrama de flujos ayudaaaaaaaaaaaaaaa...!
ResponderEliminarDisculpa me puedes decir que significa cada una de esas letras, es q soy nuevo... Se te agradece.. :3
ResponderEliminarel programa no me acepta el operador de porcentaje. ¿que ago?
ResponderEliminarcual sera el significado de cada letra?
ResponderEliminarSoy nuevo en esot de los diagramas y de plano no entendi nada
NO FUNCIONA EL ALGORITMO U.U
ResponderEliminarSIIIIIII FUNCIONA :D GRACIAS POR EL APORTE ESTA MUY BUENO,
ResponderEliminarSIIIIIII FUNCIONA :D GRACIAS POR EL APORTE ESTA MUY BUENO,
ResponderEliminarbuena
ResponderEliminarAnghelo, contame, el cuarto simbolo en el diagrama de flujo, contando desde el inicio, donde "c" menor o igual que "n", que significa ?.
ResponderEliminarQuiero que me imprima los primos pero desde el 1, com o puedo hacer, ayuda por favor.
ResponderEliminarno entiendo soy iniciado muy buena la intencion peor sin explicacion es lo mismo que no saber como usarlo
ResponderEliminarexcelente aporte!! lo que no entiendo es por que introduces un contador c++ siendo que podria funcionar perfectamente sin ella
ResponderEliminarme sale el 15 21 y esos no son numeros primos ... mmm no me funciono
ResponderEliminaryo le modifique algunas cosas y muestra los 100 primeros números primos
Eliminarpublic void numerosPrimos() {
int n = 26;
int p = 2;
int d = 2;
while (n > 0) {
if (p % d == 0) {
if (p == d) {
System.out.print(p + "/");
n--;
}
d = 2;
p++;
} else {
d++;
}
}
}
Hola me gustaría que me ayuden, he ingresado varios código al programa Java pero el problema es que habano cuando términos de colocar el código completo me pide ingresé un numero, ingreso el 8 que se que no esprimo y queda el programa como que sigue cargando y no me da ningún resultado si es o no primo. Necesito ayuda urgente por favor es un trabajo práctico.No se quesé que estará pasando!
ResponderEliminarGracias
Hey gracias
ResponderEliminarhe tratado en todas fprmas este algoritmo, pero eran demasiado complicados y casi siempre me salia fracaso
Y esto es justo lo que buscaba, sencillez y eficiencia
felicidades y gracias
Gracias, genial!
ResponderEliminarGracias muchas gracias
ResponderEliminargracias. en que software diseñas tus diagramas amigo.
ResponderEliminarte respondio
Eliminar