Definire a sequenza di lunghezza appendice antepostan per essere una permutazione dei numeri 1, 2, ..., nche può essere generata dalla seguente procedura:
Inizia con il numero
1.Per ogni numero da
2an, posiziona questo numero all'inizio o alla fine della sequenza ( anteporre o aggiungi , quindi il nome della sequenza).
Ad esempio, questo è un modo valido per generare una sequenza antependente di lunghezza 4:
1
21 [beginning]
213 [end]
2134 [end]
Il tuo compito è costruire un programma o una funzione che prenderà un numero nda 3a 30come input, e stampare o restituire tutte le sequenze antependenti di lunghezza nin ordine lessicografico (se stai producendo stringhe e non elenchi, i numeri sopra 9 saranno rappresentati come lettere a-u, per preservare la lunghezza della stringa). Ad esempio, questo è quell'ordine pern = 4 :
1234 [RRR]
2134 [LRR]
3124 [RLR]
3214 [LLR]
4123 [RRL]
4213 [LRL]
4312 [RLL]
4321 [LLL]
In generale, ci sono 2 n-1 permutazioni di lunghezza appendice prepend n.
Non è possibile utilizzare alcuna funzione di ordinamento integrata nella propria lingua nel proprio codice. Vince il programma più breve per farlo in qualsiasi lingua.
a-u. Possiamo semplicemente produrre liste di numeri?