fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. void generate_all_random_permutations( int min, int max, std::size_t length,
  5. std::ostream& stm,
  6. std::vector<int> generated_so_far = {} )
  7. {
  8. if( length == 0 )
  9. {
  10. for( int v : generated_so_far ) stm << v ;
  11. stm << '\n' ;
  12. }
  13. else
  14. {
  15. for( int v = min ; v <= max ; ++v )
  16. {
  17. generated_so_far.push_back(v) ;
  18. generate_all_random_permutations( min, max, length-1, stm, generated_so_far ) ;
  19. generated_so_far.pop_back() ;
  20. }
  21. }
  22. }
  23.  
  24. int main()
  25. {
  26. generate_all_random_permutations( 1, 3, 4, std::cout ) ;
  27. }
  28.  
Success #stdin #stdout 0s 2984KB
stdin
Standard input is empty
stdout
1111
1112
1113
1121
1122
1123
1131
1132
1133
1211
1212
1213
1221
1222
1223
1231
1232
1233
1311
1312
1313
1321
1322
1323
1331
1332
1333
2111
2112
2113
2121
2122
2123
2131
2132
2133
2211
2212
2213
2221
2222
2223
2231
2232
2233
2311
2312
2313
2321
2322
2323
2331
2332
2333
3111
3112
3113
3121
3122
3123
3131
3132
3133
3211
3212
3213
3221
3222
3223
3231
3232
3233
3311
3312
3313
3321
3322
3323
3331
3332
3333