以下均表示所有小于等于的质数。
for(int i=2;i<=n;i++) if(prime[i]) for(int j=2;j*i<=n;j++) prime[i*j]=false;
以这段代码为例,时间复杂度显然为
根据Mertens' theorems,,,所以上述算法的时间复杂度为。
证明在此,我是一个搬运工,http://arxiv.org/pdf/math/0504289。(看了半天没看懂捂脸逃……