fork(1) download
  1. #include <algorithm>
  2. #include <iostream>
  3. #include <iterator>
  4. #include <vector>
  5.  
  6. using namespace std;
  7.  
  8. int main() {
  9. const vector<int> set = { 0, 1, 2, 3 };
  10. const auto k = 3;
  11.  
  12. vector<vector<int>::const_iterator> its(k, cbegin(set));
  13.  
  14. do {
  15. transform(cbegin(its), cend(its), ostream_iterator<int>(cout), [](const auto& i) { return *i; });
  16.  
  17. cout << endl;
  18.  
  19. for (auto it = rbegin(its); it != rend(its) && ++*it == cend(set); ++it) *it = cbegin(set);
  20. } while (count(cbegin(its), cend(its), cbegin(set)) != k);
  21. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
000
001
002
003
010
011
012
013
020
021
022
023
030
031
032
033
100
101
102
103
110
111
112
113
120
121
122
123
130
131
132
133
200
201
202
203
210
211
212
213
220
221
222
223
230
231
232
233
300
301
302
303
310
311
312
313
320
321
322
323
330
331
332
333