#include <algorithm> #include <iostream> #include <iterator> template <typename T> bool w(T begin, T end) { while(begin != end) { end--; if(*end != 3) { ++*end; return true; } else *end = 0; } return false; } int main() { int a[4] {}; do { std::copy(std::begin(a), std::end(a), std::ostream_iterator<int>(std::cout, " ")); std::cout << std::endl; } while (w(std::begin(a), std::end(a))); }
Standard input is empty
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