I was wrong my fill ( ) function.
Code: Select all
void fill() //sieve
{
memset(isprime,1,sizeof(bool)*N);
for(uint i = 2; i < N; i++)
{
if(isprime[i])
for(uint k = (i<<1); k < N; k+=i)
isprime[k] = false;
}
}
Code: Select all
void fill() //sieve
{
memset(isprime,1,sizeof(bool)*N);
for(uint i = 2; i < N; i++)
{
if(isprime[i])
for(uint k = (i<<1); k < N; k+=i)
isprime[k] = false;
}
}