Problem mit der Rekursion!

safin23

Grünschnabel
Hallo Leute!
Habe ein mega großes Problem mit der folgenden Aufgabe..
Wer kann mir da helfen!
Vielen Dank im Voraus!

Auf einer Buhne soll ein Theaterstuck mit n Personen aufgefuhrt werden. Die Schauspieler
betreten und verlassen die B¨uhne jeweils einzeln. Das St¨uck erfordert es, dass jede mogliche
Kombination von Schauspielern auf der Buhne genau einmal auftritt. Schreiben Sie ein
Java-Programm, das die Anzahl n ¨uber die Kommandozeile einliest und dann eine rekursive
Funktion aufruft, die die Anweisungen fur Auf- und Abtritt von n Schauspielern generiert.
Implementieren Sie eine solche rekursive Funktion.
Beispiel: Sei n = 2. Am Anfang ist die Buhne immer leer. Eine Folge von Anweisungen, die
die obigen Bedingungen erfullt, ist

tritt auf 1
tritt auf 2
tritt ab 1

F¨ur n = 3 ist eine gultige Folge
tritt auf 1
tritt auf 2
tritt ab 1
tritt auf 3
tritt auf 1
tritt ab 2
tritt ab 1
Hinter diesen Folgen verbirgt sich eine gewisse Struktur, die Sie in Ihrer Rekursionsstrategie
ausnutzen konnen. In der Mitte steht jeweils die Anweisung tritt auf n. Die Anweisungen
dahinter sind genau die gespiegelten Umkehrungen der Anweisungen davor. Die Anweisungsfolge
fur n besteht also aus der Anweisungsfolge f¨ur n ? 1 in ”Vorw¨artsrichtung”, dem
tritt auf n und der Anweisungsfolge f¨ur n?1 in ”Ruckwartsrichtung”. Die jeweilige Richtung
kann der Funktion uber einen booleschen Parameter mitgeteilt werden. Ihre Funktion
konnte also beispielsweise folgenden Kopf haben:
public static void anweisungen(int n, boolean richtung)
 
Zurück