Eratosthenes筛法(O(nlog^logn) )
此方法非常的简单:
1. 维护一个数组vector<bool> prime(n + 1, true)
既让数组中的所有数都为真,表明它是质数。
2. 对于每一个质数,删除它的倍数,因为质数的倍数一定是合数。让后将数组中对应的数改为false,这样就可以避免遍历他。
代码如下:
int findPrime(int n) {
vector<bool> prime(n + 1, true);
int res=0;
for (int i = 2; i <= n; i++) {
if (prime[i]) {