エラトステネスの篩
p(n) = vector
計算量 NloglogN
vector<int> p(int n) {
vector<bool> ok(n+1,1);
ok[0] = ok[1] = 0;
for(int i = 2;i*i < n+1;i++){
if(ok[i]){
for(int j = i*i;j < n+1;j += i){
ok[j] = 0;
}
}
}
vector<int> ans;
rep(i,n+1){
if(ok[i]){
ans.push_back(i);
}
}
return ans;
}