Permutationen und die Fakultät
1. Oktober 2009
Heute mal wiede etwas mathematisches. Jeder, der Informatik studiert, wird früher oder später über diese Begriffe landen. Zuerst wollen wir die Begriffe definieren und dann in ein Java-Programm schreiben. Fangen wir mit dem ersten Begriff an: Permutation. Wikipedia schreibt folgendes:
Unter einer Permutation (von lat. permutare “(ver)tauschen”) versteht man die Veränderung der Anordnung einer Menge durch Vertauschen ihrer Elemente.
Darunter ist folgendes gemeint. Mal angenommen man hat die Menge mit folgenden Elementen: {a, b, c, d}. Dann gibt es als Beispiel folgende Permutation: {c, a, b, d}. Oder man kann auch folgende Permutationen haben: {a, c, b, d}. Doch wieviele Permutationen können wir haben?
Die Anzahl der Permutationen von n Objekten beträgt n!.
Dabei sieht man, dass man nicht nur Elemente einer Menge ändern kann, man kann genauso die Position der Buchstaben seines eigenen Namens verändern – Beispiel: Anna und Nana sind zwei Permutationen. Das geht mit vielen Dingen bzw. Objekten. Doch was ist das n! (gesprochen “n Fakultät”)?
Die Fakultät ist eine mathematische Funktion, die folgendermaßen definiert wird:
n! = n * (n – 1) * (n – 2) * … * 2 * 1.
0! = 1.
1! = 1.
Ein paar Beispiele:
3! = 3 * 2 * 1 = 6.
5! = 5 * 4 * 3 * 2 * 1 = 120.
D.h. wenn wir die Menge {a, b, c, d} nehmen, dann können wir darauf 4! verschiedene Permutationen machen, denn das sind vier Elemente in einer Menge die wir unterschiedliche anordnen können. Genauso ist es mit dem vier Buchstaben A, N, N, A. Diese können wir auch zu allen möglichen Permutationen setzen, doch ob diese dann einen Namen ergeben ist wiederum fraglich.
Nun wollen wir darauf ein Java-Programm basteln. Ich hatte schonmal ein kleines Java-Programm geschrieben und in meinem Forum mal veröffentlicht: http://www.festplatte24.eu/java-f12/fakultaet-version-2–t13.html.
Falls ihr Fragen habt, könnt ihr entweder hier fragen oder ihr registriert euch im Forum und stellt dort Fragen.
Kommentar schreiben