数学原理
首先,从 2 开始,把 2 的倍数都标记为合数,然后把下一个未标记的数 3 标记为素数,再把 3 的倍数标记为合数,接着把下一个未标记的数 5 标记为素数,再把 5 的倍数标记为合数, 以此类推,直到标记到 N 为止。
在标记的过程中,每次找到一个素数,就把它的所有倍数都标记为合数,这样,最终剩下 的未标记的数,就是小于 N 的所有素数
时间复杂度:O(n*lglgn)