Algorithm: Sieve of Eratosthenes

寻找比n小的所有质数的方法。

2是质数, 2*i都是质数,同样3是质数,3*i也都是质数

代码如下

1 int n;

2 vector<char> prime (n+1, true);

3 prime[0] = prime[1] = false;

4 for (int i=2; i<=n; ++i)

5     if (prime[i])

6         if (i * 1ll * i <= n)

7             for (int j=i*i; j<=n; j+=i)

8                 prime[j] = false;

 

你可能感兴趣的:(Algorithm)