Esta es una extensión de mi pregunta que se encuentra aquí :
Dada una cierta cantidad de dígitos, cada uno con un rango específico de 1 a algún número, ¿cuál sería el elemento N en la lista de todas las permutaciones encontradas modificando primero los dígitos más internos?
Por ejemplo, dados 3 dígitos, el primero con un rango de [1..3], el segundo con [1..2] y el tercero [1...4], la lista sería
1 1 1
1 1 2
1 1 3
1 1 4
1 2 1
1 2 2
1 2 3
1 2 4
2 1 1
2 1 2
2 1 3
...
¿Cómo encontrarías el elemento N de este tipo de conjuntos? Por el contrario, dado un número, ¿cómo encontrarías la posición en este conjunto?
Dejar sea la lista del número de valores posibles para cada posición en la lista, y sea sea la posición en la lista. Dejar ser la longitud de los elementos de la lista inicialmente. El proceso para la obtención del elemento es:
Y cada valor sucesivo de es el º dígito del elemento.
Dado un elemento la posición es
Básicamente, este problema es un caso degenerado (un caso general) de conversión en bases, excepto que 1 se usa para 0, 2 para 1 (por lo que 1111 en esta lista correspondería a 0000), etc. Publicaré una prueba pronto. . No estoy seguro si es correcto; verificará esto más tarde. Además, la salida/entrada puede estar indexada a cero (comenzando desde cero).
Gerardo
1110101001
asaf karaguila