/*   Programa para calcular los primeros 1,000 numeros primos usando el algoritmo de la criba de Eratostenes   Autor: Antonio Carrillo Ledesma   http://www.mmc.geofisica.unam.mx/acl */
#include <stdio.h>
// NPB Numero de primos a buscar
#define NPB 1000
int main ()
{
   int n, i, np;
   int p[NPB];
   // Guarda los primeros 2 primos
   p[0] = 2;
   p[1] = 3;
   np = 2;
   // Empieza la busqueda de primos a partir del numero 4
   n = 4;
   // Ciclo para buscar los primeros NPB primos
   while (np < NPB)
   {
      for (i = 0; i < np; i++)
      {
         if((n % p[i]) == 0) break;
      }
      if(i == np)
      {
         p[i] = n;
         np++;
      }
      n++;
   }
   // Visualiza los primos encontrados
   printf("\nVisualiza los primeros %d primos\n", NPB);
   for (i = 0; i < NPB; i++)       printf("%d\n", p[i]);
   return 0;
}