How to find prime numbers from 1 million this range? ? ?
We use an array to hold the result prime
prime [0] stored prime number
#define maxn 1000000
int arr[maxn + 5] = {0};
void init(){//这是一种标记法+巧用因子法,如果你不理解,那么请看看素数的概念。
for(int i = 2; i <= maxn; i++){
if(!arr[i]) prime[++prime[0]] = i;
for(int j = 1; j <= prime[0]; j++){
if(prime[j] * i > maxn) break;
prime[prime[j] * i] = 1;
if(i % prime[j] == 0) break;
}
}
}