Definieren Sie eine Präpend-Append-Sequenz mit einer Länge n
als Permutation der Zahlen 1, 2, ..., n
, die mit der folgenden Prozedur generiert werden können:
Beginnen Sie mit der Nummer
1
.Platzieren Sie diese Nummer für jede Nummer von
2
bisn
an den Anfang oder das Ende der Sequenz (entweder voranstellen oder anhängen , daher der Name der Sequenz).
Dies ist beispielsweise eine gültige Methode zum Generieren einer Prepend-Append-Sequenz der Länge 4:
1
21 [beginning]
213 [end]
2134 [end]
Ihre Aufgabe ist es, ein Programm oder eine Funktion zu erstellen, die eine Zahl n
von 3
bis 30
als Eingabe verwendet und alle n
lexikografischen Längenfolgen mit vorangestelltem Anhang ausgibt oder zurückgibt (wenn Sie Zeichenfolgen und keine Listen ausgeben, werden Zahlen über 9 dargestellt) als Buchstaben a-u
, um die Länge der Zeichenkette zu erhalten). Zum Beispiel ist dies die Reihenfolge für n = 4
:
1234 [RRR]
2134 [LRR]
3124 [RLR]
3214 [LLR]
4123 [RRL]
4213 [LRL]
4312 [RLL]
4321 [LLL]
Im Allgemeinen gibt es 2 n-1 Prepend-Append-Permutationen mit einer Länge n
.
Sie dürfen in Ihrem Code keine in Ihrer Sprache integrierten Sortierfunktionen verwenden. Das kürzeste Programm, um dies in einer Sprache zu tun, gewinnt.
a-u
. Können wir nur Zahlenlisten ausgeben?