Data una stringa di caratteri diversi e un numero n, genera tutte le combinazioni ordinate con ripetizione, di lunghezza da 1 a n, usando quei caratteri.
Un altro modo per definirlo è vedere i caratteri dati come cifre "personalizzate" nella base (radix) del numero di caratteri, quindi il programma dovrebbe generare tutti i "numeri" con cifre da 1 a n in quella base, tuttavia, portando sono inclusi anche "zeri".
Le combinazioni devono essere ordinate in base alla loro lunghezza (1 carattere prima, poi 2, ecc.), Ma a parte questo possono essere in qualsiasi ordine. Puoi scegliere i modi più convenienti per gestire input e output. Il codice più corto vince.
Esempi:
ab, 3
-> a,b,aa,ab,ba,bb,aaa,aab,aba,baa,abb,bab,bba,bbb
0123456789, 2
->0,1,2,3,4,5,6,7,8,9,00,01,...,09,10,11,...,99