Filter screening of linear prime number

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(){//这是一种标记法+巧用因子法,如果你不理解,那么请看看素数的概念。
	forint 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;
		}
	}
}
Published 48 original articles · won praise 5 · Views 767

Guess you like

Origin blog.csdn.net/weixin_43899266/article/details/103745480