for(it1=prime.begin();it1<prime.end();it1++){
for(it2=it1+1;it2<prime.end();it2++){
if(*it2%*it1==0){
prime.erase(it2);
}
}
if(*it1<1000)
prime.erase(it1);
}
上記のコードスニペットでは、素数ベクトル2から9999(エラトステネスのふるい)にすでに存在する数の倍数である数を削除しています。また、1000を超える数のみですが、どういうわけかこれらは消去されていません。
誰かが私に理由を説明できますか?
前もって感謝します。