viernes, 25 de noviembre de 2011

Serie de Números Primos con un solo ciclo

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.

Serie Primos A3D
Este algoritmo es bastante bueno, 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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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++;
}

No hay comentarios:

Publicar un comentario