#include <vector>
#include <iostream>
#include <numeric>
#include <iterator>
#include <algorithm>

int main()
{
    using namespace std;

    vector<int> vec(1000); // Platz für Tausend Zahlen

    iota( begin(vec), end(vec), 2 ); // vec mit Zahlen von 1 bis 1000 füllen

    for( unsigned ct = 2; ct < vec.size() - 2; ++ct ) // Alle Teiler in einer Schleife durchgehen.
        vec.erase( remove_if( begin(vec) + ct + 1, end(vec), [=](int i){ return i % ct == 0; } ), end(vec) ); /// Alle Elemente aus vector entfernen die sich durch ct teilen lassen.

    copy( begin(vec), end(vec), ostream_iterator<int>(cout, ", ") ); // vec ausgeben (Zahlen durch Komma getrennt
}