fork download
  1. #include <algorithm>
  2. #include <iostream>
  3. #include <iterator>
  4.  
  5. template <typename T> bool w(T begin, T end)
  6. {
  7. while(begin != end) {
  8. end--;
  9. if(*end != 3) {
  10. ++*end;
  11. return true;
  12. } else
  13. *end = 0;
  14. }
  15. return false;
  16. }
  17.  
  18. int main()
  19. {
  20. int a[4] {};
  21.  
  22. do
  23. {
  24. std::copy(std::begin(a), std::end(a), std::ostream_iterator<int>(std::cout, " "));
  25. std::cout << std::endl;
  26. } while (w(std::begin(a), std::end(a)));
  27. }
  28.  
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
0 0 0 0 
0 0 0 1 
0 0 0 2 
0 0 0 3 
0 0 1 0 
0 0 1 1 
0 0 1 2 
0 0 1 3 
0 0 2 0 
0 0 2 1 
0 0 2 2 
0 0 2 3 
0 0 3 0 
0 0 3 1 
0 0 3 2 
0 0 3 3 
0 1 0 0 
0 1 0 1 
0 1 0 2 
0 1 0 3 
0 1 1 0 
0 1 1 1 
0 1 1 2 
0 1 1 3 
0 1 2 0 
0 1 2 1 
0 1 2 2 
0 1 2 3 
0 1 3 0 
0 1 3 1 
0 1 3 2 
0 1 3 3 
0 2 0 0 
0 2 0 1 
0 2 0 2 
0 2 0 3 
0 2 1 0 
0 2 1 1 
0 2 1 2 
0 2 1 3 
0 2 2 0 
0 2 2 1 
0 2 2 2 
0 2 2 3 
0 2 3 0 
0 2 3 1 
0 2 3 2 
0 2 3 3 
0 3 0 0 
0 3 0 1 
0 3 0 2 
0 3 0 3 
0 3 1 0 
0 3 1 1 
0 3 1 2 
0 3 1 3 
0 3 2 0 
0 3 2 1 
0 3 2 2 
0 3 2 3 
0 3 3 0 
0 3 3 1 
0 3 3 2 
0 3 3 3 
1 0 0 0 
1 0 0 1 
1 0 0 2 
1 0 0 3 
1 0 1 0 
1 0 1 1 
1 0 1 2 
1 0 1 3 
1 0 2 0 
1 0 2 1 
1 0 2 2 
1 0 2 3 
1 0 3 0 
1 0 3 1 
1 0 3 2 
1 0 3 3 
1 1 0 0 
1 1 0 1 
1 1 0 2 
1 1 0 3 
1 1 1 0 
1 1 1 1 
1 1 1 2 
1 1 1 3 
1 1 2 0 
1 1 2 1 
1 1 2 2 
1 1 2 3 
1 1 3 0 
1 1 3 1 
1 1 3 2 
1 1 3 3 
1 2 0 0 
1 2 0 1 
1 2 0 2 
1 2 0 3 
1 2 1 0 
1 2 1 1 
1 2 1 2 
1 2 1 3 
1 2 2 0 
1 2 2 1 
1 2 2 2 
1 2 2 3 
1 2 3 0 
1 2 3 1 
1 2 3 2 
1 2 3 3 
1 3 0 0 
1 3 0 1 
1 3 0 2 
1 3 0 3 
1 3 1 0 
1 3 1 1 
1 3 1 2 
1 3 1 3 
1 3 2 0 
1 3 2 1 
1 3 2 2 
1 3 2 3 
1 3 3 0 
1 3 3 1 
1 3 3 2 
1 3 3 3 
2 0 0 0 
2 0 0 1 
2 0 0 2 
2 0 0 3 
2 0 1 0 
2 0 1 1 
2 0 1 2 
2 0 1 3 
2 0 2 0 
2 0 2 1 
2 0 2 2 
2 0 2 3 
2 0 3 0 
2 0 3 1 
2 0 3 2 
2 0 3 3 
2 1 0 0 
2 1 0 1 
2 1 0 2 
2 1 0 3 
2 1 1 0 
2 1 1 1 
2 1 1 2 
2 1 1 3 
2 1 2 0 
2 1 2 1 
2 1 2 2 
2 1 2 3 
2 1 3 0 
2 1 3 1 
2 1 3 2 
2 1 3 3 
2 2 0 0 
2 2 0 1 
2 2 0 2 
2 2 0 3 
2 2 1 0 
2 2 1 1 
2 2 1 2 
2 2 1 3 
2 2 2 0 
2 2 2 1 
2 2 2 2 
2 2 2 3 
2 2 3 0 
2 2 3 1 
2 2 3 2 
2 2 3 3 
2 3 0 0 
2 3 0 1 
2 3 0 2 
2 3 0 3 
2 3 1 0 
2 3 1 1 
2 3 1 2 
2 3 1 3 
2 3 2 0 
2 3 2 1 
2 3 2 2 
2 3 2 3 
2 3 3 0 
2 3 3 1 
2 3 3 2 
2 3 3 3 
3 0 0 0 
3 0 0 1 
3 0 0 2 
3 0 0 3 
3 0 1 0 
3 0 1 1 
3 0 1 2 
3 0 1 3 
3 0 2 0 
3 0 2 1 
3 0 2 2 
3 0 2 3 
3 0 3 0 
3 0 3 1 
3 0 3 2 
3 0 3 3 
3 1 0 0 
3 1 0 1 
3 1 0 2 
3 1 0 3 
3 1 1 0 
3 1 1 1 
3 1 1 2 
3 1 1 3 
3 1 2 0 
3 1 2 1 
3 1 2 2 
3 1 2 3 
3 1 3 0 
3 1 3 1 
3 1 3 2 
3 1 3 3 
3 2 0 0 
3 2 0 1 
3 2 0 2 
3 2 0 3 
3 2 1 0 
3 2 1 1 
3 2 1 2 
3 2 1 3 
3 2 2 0 
3 2 2 1 
3 2 2 2 
3 2 2 3 
3 2 3 0 
3 2 3 1 
3 2 3 2 
3 2 3 3 
3 3 0 0 
3 3 0 1 
3 3 0 2 
3 3 0 3 
3 3 1 0 
3 3 1 1 
3 3 1 2 
3 3 1 3 
3 3 2 0 
3 3 2 1 
3 3 2 2 
3 3 2 3 
3 3 3 0 
3 3 3 1 
3 3 3 2 
3 3 3 3