int main() {
int i, a[N];
// initialize the array
for(i = 2; i < N; i++) a[i] = 1;
for(i = 2; i < N; i++)
if(a[i])
for(int j = i; j*i < N; j++) a[i*j] =0;
// pirnt the primes less then N
for(i = 2; i < N; i++)
if(a[i]) cout << " " << i;
cout << endl;
}
它在算法的书我读运行上述程序给定的时间是成正比N+N/2+N/3+N/5+N/7+N/11+...
,运行时间打印出下N的所有素数
请帮助我理解作者是如何想出了上面的方程来自程序。 谢谢! Venkata
感谢您的帮助。现在我明白了算法的运行时间是如何延长的。 – Venkata 2010-10-30 16:47:56