The most popular prime finding method aka Sieve of Eratosthenes.
#define MAX 35000
#define lim 200
bool a[MAX];
int prime[MAX];
void sieve()
{
int i,j;
a[0]=1;a[1]=1; //1 denotes not prime
for(i=3;i<=lim;i+=2) //even numbers are exclusive
{
if(a[i]==0) //0 denotes prime
{
for(j=i*i;j < MAX;j+=i)
a[j]=1;
}
}
prime[0]=2;
j=1;
for(i=3;i < MAX;i+=2) //even numbers are exclusive
{
if(a[i]==0)
prime[j++]=i;
}
}
No comments:
Post a Comment