#include #include using namespace std; inline void printVector(vector &mask) { for (int i = 0; i < mask.size(); ++i) { cout << (int)mask[i] << " "; } cout << endl; } void getCombinations(int n) { const unsigned int nIterations = 1 << n; // Количество комбинаций, 2^n vector mask(n); // Текущая комбинация for (unsigned int i = 1; i < nIterations; i++) { // какой по счёту бит инвертируем unsigned long position; _BitScanForward(&position, i); mask[position] = !mask[position]; printVector(mask); } } int main() { getCombinations(5); system("pause"); return 0; }