Defina una secuencia de longitud de anteponer-agregarn para que sea una permutación de los números 1, 2, ..., nque se pueden generar mediante el siguiente procedimiento:
Comience con el número
1.Para cada número de
2an, colocar este número al principio o al final de la secuencia (ya sea prepend o append , de ahí el nombre de la secuencia).
Por ejemplo, esta es una forma válida de generar una secuencia de anteponer-agregar de longitud 4:
1
21 [beginning]
213 [end]
2134 [end]
Su tarea es crear un programa o función que tome un número nde 3a 30como entrada, e imprima o devuelva todas las secuencias de longitud de anteponer y agregar nen orden lexicográfico (si está generando cadenas y no listas, los números superiores a 9 se representarán como letras a-u, para preservar la longitud de la cadena). Por ejemplo, este es el orden para n = 4:
1234 [RRR]
2134 [LRR]
3124 [RLR]
3214 [LLR]
4123 [RRL]
4213 [LRL]
4312 [RLL]
4321 [LLL]
En general, hay 2 n-1 antemutaciones de longitud de anexión n.
No puede usar ninguna función de clasificación incorporada en su idioma en su código. El programa más corto para hacer esto en cualquier idioma gana.
a-u. ¿Podemos simplemente generar listas de números?