对于一个大于2的整数 c,如果c不是素数,那么必然存在一个素数 e 满足,e< c 且 c%e == 0。
标记数组,如果mark[i] == false 且 i>=2,则认为 i 是素数.
bool mark[N+1] = {0}; 
vector<int> prime;
for(int i = 2; i <= N; i++) {
    if(mark[i]) {
        continue;
    }
    primes.push_back(i);
    for(int j = i + i; j <= N; j += i) {
        mark[j] = true;
    }
}