13.4 Fakultät: n! |
||||||||||||||||||||||||||||||||||||
n! |
In der Mathematik wird n! häufig
definiert als das Produkt
n . (n-1) . (n-2) . ... . 2 . 1 |
|||||||||||||||||||||||||||||||||||
Download: |
Ein schon
etwas anspruchvolleres Programm, das eine while-Schleife benutzt, ist das
nächste Beispiel. Es zeigt, wie man die Fakultät einer Zahlberechnen.
Der Schreibtischtest verdeutlicht, was bei den einzelnen Programmschritten geschieht. Ein Schreibtischtest ist eine Tabelle, in die alle Variablen eingetragen und "Entwicklung" ihrer Werte verfolgt werden. Dabei entspricht eine Zeile der Tabelle, jeweils einem Schleifendurchgang Initialisierungsdaten: faktor=1, fakultaet =1, n = 5 (z.B).
|
|||||||||||||||||||||||||||||||||||
Programmausgabe bei n=5 |
![]()
|
|||||||||||||||||||||||||||||||||||
n = 18 |
Wir wählen n = 18 und lassen uns die
Zwischenergebnisse im Schleifenkörper ausgeben: |
|||||||||||||||||||||||||||||||||||
![]()
Die etwas modifizierte Methode hat
folgende Gestalt.: |
||||||||||||||||||||||||||||||||||||
Downlaod:
|
|
|||||||||||||||||||||||||||||||||||
Die Definition n! = n .
(n-1) . (n-2) . ... . 2 . 1
hat für die Puristen unter den Mathematikern den Nachteil, dass die drei
Punkte für usw. stehen, also voraussetzen, dass der Leser wohl weiß, was
gemeint sei. Dies ist aber kein mathematisch korrektes Vorgehen.
Tatsächlich heißt die exakte Definition: 0! = 1 und n! = n. (n-1)! Wie wir sehen handelt es sich um eine rekursive Definition. Was liegt also näher, als diese Definition direkt als rekursive Methode zu implementieren?
|
||||||||||||||||||||||||||||||||||||
Die rekursive Methode fakultaet(..) |
|
|||||||||||||||||||||||||||||||||||
Download: Mathematik.java |
Wie wir sehen, ist der Quellkode nicht
nur kürzer, sondern auch einfacher zu lesen. Ein Effizienzvergleich der
nichtrekursiven mit der rekursiven Methode zeigt keinen Unterschied. Wegen
der leichteren Lesbarkeit übernehmen wir die rekursive Methode in die
Klasse Mathematik. |
|||||||||||||||||||||||||||||||||||
zu | 13.5 Übungen | |||||||||||||||||||||||||||||||||||
zur Startseite | www.pohlig.de (C) MPohlig 2004 |