Dada una cadena de caracteres diferentes y un número n, genere todas las combinaciones ordenadas con repetición, de longitud 1 a n, utilizando esos caracteres.
Otra forma de definirlo es ver los caracteres dados como dígitos "personalizados" en la base (raíz) del número de caracteres, luego el programa debe generar todos los "números" con 1 a n dígitos en esa base, sin embargo, También se incluyen "ceros".
Las combinaciones deben ordenarse por su longitud (1 carácter primero, luego 2, etc.), pero aparte de eso pueden estar en cualquier orden. Puede elegir las formas más convenientes de manejar la entrada y la salida. El código más corto gana.
Ejemplos:
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