Generati in ordine lexicografica toate solutiile de lungime m care contin valorile 1,2 si 3 unde m se citeste de la tastatura

Daca m=4
1111
1112
1113
1121
……
3333

Răspuns :

#include <iostream>

char *v;

size_t j, m;

void recursie() {

if (j == m)

    std::cout << v << '\n';

else for (size_t i = '1'; i <= '3'; ++i) {

 v[j] = i;

 ++j;

 recursie();

 --j;

}

}

int main() {

std::cin >> m;

v = new char[m + 1]();

recursie();

delete[] v;

}