Encontrar el elemento N en una lista de todos los números posibles

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?

¿Conoces el producto cartesiano?
Veo cómo podría usarse para generar el conjunto deseado, pero no veo cómo ayuda a encontrar un elemento determinado.
Olvidó etiquetas para matemáticas discretas, análisis real y transformada de Fourier.

Respuestas (1)

Dejar S sea ​​la lista del número de valores posibles para cada posición en la lista, y sea norte sea ​​la posición en la lista. Dejar i ser la longitud de los elementos de la lista inicialmente. El proceso para la obtención del elemento es: q = norte / ( pag r o d X = 0 i S i )

norte = norte modificación pag r o d X = 0 i S i + 1

i = i 1

Y cada valor sucesivo de norte es el i º dígito del elemento.

Dado un elemento la posición es X = 0 longitud de los elementos de la lista X = 0 i × ( xth dígito del elemento de izquierda a derecha 1 )

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).

En la primera fórmula usé un producto con índice de x pero no veo esa x en el S_i. ¿Estaba destinado a ser S_x? ¿Podría demostrar el uso con un ejemplo?
Además, ¿no necesitarías un módulo para dar cuenta del bucle?