std::vector<bool> people(1000, true); int remainPeople = 1000, count = 0, index = 0; while(remainPeople > 1){ if(people[index]) { count++; if (count == 2) { people[index] = false; count = 0; remainPeople--; } } index++; if(index == 1000) index = 0; } for(int i = 0; i < 1000; ++i){ if(people[i] != false) std::cout << i << std::endl; }