/* Finding Prime Numbers Using The Sieve Of Eratosthenes*/
#include<stdio.h>

#define N 1000 /* use small number for testing */

void main()
{
   int num[N], i, j, k;
     
   for(i=0;i<=N-1;i++)     /*Fill num with the first 100 numbers*/
     num[i]=i+1;
     
   for(i=1;i<=N-1;i++)
   {
     if(num[i]!=0)
     {
       for(j=(i+1);j<=N-1;j++)
       {
         if(num[j]!=0)
         {
           if((num[j]%num[i])==0)     /*check if num[j]*/ 
           num[j]=0;                    /*is a multiple of num[i]*/
                                      /*if it is a multiple then set it to 0*/
         }
       }
     }
   }

   for(i=1;i<=N-1;i++)
   {
     if(num[i]!=0)                    /*Print all non zero numbers (prime numbers)*/
     {
       k = k + 1;
       printf("Prime Number %d is: %d\n", k, num[i]);
     }
   }
}
