Aufgabentext:
Lesen Sie die Zahl n ein und berechnen Sie die n-Faktorielle.
Anmerkungen:
Statt des Worts "Faktorielle" wird in vielen Gegenden des deutschen Sprachraum das Wort "Fakultät" verwendet; beide Benennungen bezeichnen die gleiche Rechenvorschrift. Die Verwendung des Worts "Faktorielle" im Aufgabentext deutet darauf hin, dass der Fragenkatalog einer österreichischen Bildungsstätte entstammt.
Es ist nicht ausdrücklich gesagt, versteht sich aber aus der Aufgabenstellung, dass n eine natürliche Zahl sein soll.
Die Fakultät (oder eben Faktorielle) ist für natürliche Zahlen definiert und bedeutet, das Produkt aller natürlichen Zahlen bis zu einer vorgeschriebenen oberen Grenze zu bilden. Die Fakultät einer natürlichen Zahl wird üblicherweise so angeschrieben, dass hinter die Zahl ein Ausrufungszeichen gesetzt wird. Wir können also schreiben:
n! = 1· ... ·n
Es ist klar, dass die Werte der Fakultät sehr rasch anwachsen; ihre Berechnung ist nur mit Programmiersprachen realisierbar, die mit Ganzzahlen beliebiger Größe rechnen können. Python ist eine solche Sprache, daneben ist Java zu nennen. Die bekannten Computer-Algebra-Systeme (Maple, Mathematica, Maxima) können natürlich auch mit Ganzzahlen beliebiger Größe rechnen.
Das folgende Programm verwendet eine Wiederholungsanweisung, um die Fakultät für einen zuvor erfragten Wert zu berechnen. Dieser Ansatz ist naheliegend und einfach.
print("Berechnung der Faktoriellen") print("Bitte geben sie die positive Zahl ein, zu der die Faktorielle berechnet werden soll:"); n = int(input()) f = 1; for i in range(2, n + 1): f *= i; print("Der Wert von ") print(n) print("! ist: ") print(f)
Hinweise
Um ein Gefühl für das rasche Anwachsen der Fakultät zu bekommen, sollten die folgenden Werte berechnet werden:
Der erste und der zweite Wert können im Kopf oder mit Bleistift und Papier berechnet werden. Für den dritten und den vierten Wert ist ein Computer erforderlich.