Definieren Sie eine Präpend-Append-Sequenz mit einer Länge nals 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
2bisnan 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 nvon 3bis 30als Eingabe verwendet und alle nlexikografischen 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?