Nachdem wir in der letzten Woche genug Bäumchen gepflanzt haben, nähern wir uns der Rekursionsthematik nun wieder etwas formaler. Aber auch auf diese Weise kann man mit Rekursionen Spaß haben. Glauben Sie nicht? Nun, dann schauen wir mal auf die folgende Funktion (McCarthy-91-Funktion):
Die McCarthy-91-Funktion ist für mit wie folgt (rekursiv) definiert:
Wenn Sie sich an Teilaufgabe 1 versucht haben, fällt es Ihnen unter Umständen leichter, zu bewerten, ob Ihr Programm aus Teilaufgabe 2 wohl das richtige macht ;-)
Ein spannendes Gebiet der Mathematik ist die Kombinatorik. Die typische Fragestellung in diesem Fach beginnt mit ``Wieviele Möglichkeiten gibt es?''. Aufgabe 4 führt uns nun in diesen Bereich der Mathematik.
Jeder kennt ja wahrscheinlich die Situation im Restaurant, daß eine Gruppe von Gästen eine Bestellung aufgegeben hat, aber - wenn das Essen kommt - niemand mehr weiß, wer was bestellt hat.
Nehmen wir an, ein (schwäbisches) Restaurant in der Gegend habe die folgenden Speisen auf der Karte:
Angenommen, sechs Gäste an einem Tisch haben 2 mal Kässpätzle, einmal Schupfnudeln und drei mal die Maultaschen bestellt. Die Frage ist nun, auf wieviele Arten der Ober die Speisen auf die sechs Gäste verteilen kann (wenn jeder genau eine Speise bekommt und man davon ausgeht, daß gleiche Speisen nicht voneinander zu unterscheiden sind).
Diese Fragestellung soll diese Übungsaufgabe lösen:
('`k'' steht hier für Kässpätzle, ``m'' für Maultaschen, usw.)
Dieser Aufruf sollte dann zu folgender Ausgabe führen:
Serviermoeglichkeit # 1: ======================== Gast Nummer 1 bekommt: Schupfnudeln Gast Nummer 2 bekommt: Maultaschen Gast Nummer 3 bekommt: Maultaschen Gast Nummer 4 bekommt: Maultaschen Gast Nummer 5 bekommt: Kaesspaetzle Gast Nummer 6 bekommt: Kaesspaetzle Serviermoeglichkeit # 2: ======================== Gast Nummer 1 bekommt: Schupfnudeln Gast Nummer 2 bekommt: Maultaschen Gast Nummer 3 bekommt: Maultaschen Gast Nummer 4 bekommt: Kaesspaetzle Gast Nummer 5 bekommt: Maultaschen Gast Nummer 6 bekommt: Kaesspaetzle [... jede Menge andere Moeglichkeiten ...] Serviermoeglichkeit #60: ======================== Gast Nummer 1 bekommt: Kaesspaetzle Gast Nummer 2 bekommt: Kaesspaetzle Gast Nummer 3 bekommt: Maultaschen Gast Nummer 4 bekommt: Maultaschen Gast Nummer 5 bekommt: Maultaschen Gast Nummer 6 bekommt: Schupfnudeln
Viel Erfolg!