#include <iostream>
#include <vector>
using namespace std;
inline void printVector(vector<bool> &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<bool> 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;
}
Comments
0 B
|👍
/👎