G
Gast
Gast
Hallo Leute!
Komme mit der folgenden Aufgabe nicht klar.
Bitte dringend um Hilfe.
Vielen Dank im Voraus!!
Auf einer Buhne soll ein Theaterstuck mit n Personen aufgefuhrt werden. Die Schauspieler
betreten und verlassen die Buhne jeweils einzeln. Das Stuck 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
Fur 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 fur n − 1 in ”Vorwartsrichtung”, dem
tritt auf n und der Anweisungsfolge fur n−1 in ”Ruckwartsrichtung”. Die jeweilige Richtung
kann der Funktion uber einen booleschen Parameter mitgeteilt werden. Ihre Funktion
konnte also beispielsweise folgenden Kopf haben:
Komme mit der folgenden Aufgabe nicht klar.
Bitte dringend um Hilfe.
Vielen Dank im Voraus!!
Auf einer Buhne soll ein Theaterstuck mit n Personen aufgefuhrt werden. Die Schauspieler
betreten und verlassen die Buhne jeweils einzeln. Das Stuck 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
Fur 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 fur n − 1 in ”Vorwartsrichtung”, dem
tritt auf n und der Anweisungsfolge fur n−1 in ”Ruckwartsrichtung”. Die jeweilige Richtung
kann der Funktion uber einen booleschen Parameter mitgeteilt werden. Ihre Funktion
konnte also beispielsweise folgenden Kopf haben:
Code:
public static void anweisungen (int n, boolean richtung)