Die Fakultät: winzige Regel, gewaltige Zahlen – und wie du sie selbst berechnest

Autor: DerSchneider

Einleitung

Was haben die Anordnung von Spielkarten, die Wahrscheinlichkeit eines Lottogewinns und die Anzahl möglicher Passwörter gemeinsam? Sie alle lassen sich mit einer der einfachsten, aber gleichzeitig am schnellsten wachsenden Funktionen der Mathematik beschreiben: der Fakultät.

Kaum eine andere Operation führt derart rasch in astronomische Dimensionen. Während 10! noch gut handliche 3,6 Millionen beträgt, sprengt 100! jede Vorstellungskraft – die Zahl besitzt 158 Stellen. Genau diese Eigenschaft macht die Fakultät sowohl in der Kombinatorik als auch in der Informatik, der Statistik und vielen technischen Disziplinen unverzichtbar.

Dieser Artikel erklärt dir nicht nur, was die Fakultät ist und wie du sie von 1 bis 100 berechnest. Du erfährst auch, wo sie im Alltag und im Ingenieurwesen vorkommt. Vor allem aber bekommst du eine praktische Anleitung, um dir mit wenigen Zeilen Code deine eigene Fakultäten-Tabelle zu erstellen – inklusive CSV-Datei für die Weiterverarbeitung.

Hauptteil

1. Was ist eine Fakultät? – Die Grundidee

Die Fakultät einer nichtnegativen ganzen Zahl nn (geschrieben n!n!) ist definiert als das Produkt aller natürlichen Zahlen von 1 bis nn:n!=1×2×3××nn!=1×2×3×⋯×n

Sonderfall: 0!=10!=1 (wichtig für viele Formeln).

Beispiele:

  • 1!=11!=1
  • 2!=22!=2
  • 3!=63!=6
  • 4!=244!=24
  • 5!=1205!=120

Schon bei kleinen Schritten wird das Wachstum extrem:

nn!
5120
6720
75.040
840.320
9362.880
103.628.800
15≈ 1,31 × 10¹²
20≈ 2,43 × 10¹⁸
50≈ 3,04 × 10⁶⁴
100≈ 9,33 × 10¹⁵⁷

Ab etwa n=70n=70 übersteigt die Fakultät die Darstellbarkeit vieler Taschenrechner. 100!100! ist so groß, dass es mehr Stellen hat als Atome im beobachtbaren Universum (etwa 10⁸⁰) – ein eindrucksvolles Beispiel für kombinatorische Explosion.

2. Wofür braucht man Fakultäten? – Anwendungen im echten Leben

Die Fakultät ist der zentrale Baustein der Kombinatorik, also der Mathematik des Zählens und Anordnens.

2.1 Permutationen – Wie viele Anordnungen gibt es?

Die Anzahl der Möglichkeiten, nn verschiedene Objekte in einer Reihe anzuordnen, ist genau n!n!.

Beispiel: Du hast 5 verschiedene Bücher. Wie viele Reihenfolgen gibt es im Regal?
Antwort: 5!=1205!=120.

2.2 Binomialkoeffizienten – Ziehen ohne Zurücklegen

Die Anzahl der Möglichkeiten, aus nn Elementen kk auszuwählen (ohne Reihenfolge), ist:(nk)=n!k!(nk)!(kn​)=k!⋅(nk)!n!​

Das ist die Grundlage der Lotto-Wahrscheinlichkeit (6 aus 49), von Qualitätskontrollen, von Stichprobenverfahren in der Elektrotechnik (z. B. Auswahl von Prüflingen aus einer Charge) und vielen statistischen Tests.

2.3 Wahrscheinlichkeitsrechnung und Statistik

Die Poisson-Verteilung, die Exponentialfunktion exex (definiert als unendliche Reihe über Fakultäten) und zahlreiche Verteilungsfunktionen enthalten Fakultäten bzw. deren Verallgemeinerung, die Gammafunktion.

2.4 Informatik und Algorithmik

  • Laufzeitanalyse: Manche Algorithmen (z. B. Brute-Force für das Traveling-Salesman-Problem) haben eine Laufzeit von O(n!)O(n!) – katastrophal ineffizient für große nn.
  • Testdaten-Generierung: Fakultäten helfen abzuschätzen, wie viele Testfälle bei Permutationstests entstehen.
  • Kryptographie: Die Anzahl möglicher Tastenreihenfolgen oder Passwörter folgt fakultätsähnlichen Gesetzen.

2.5 Elektrotechnik und Signalverarbeitung (Beispiele)

  • Schaltnetze: Die Anzahl möglicher Zuordnungen von Eingängen zu Ausgängen in einem Multiplexer oder einer Permutationsmatrix.
  • Codierungstheorie: Bei der Auswertung von Fehlerkorrekturcodes spielen Kombinationsmöglichkeiten eine Rolle.
  • Messdatenerfassung: Reihenfolgen von Prüfschritten lassen sich mit Fakultäten abschätzen.

3. Der Sprung vom Prinzip zur eigenen Berechnung

Du musst kein Mathematik-Genie sein, um Fakultäten zu berechnen. Die rekursive Definition eignet sich hervorragend für die Programmierung:

  • Rekursiv: n!=n×(n1)!n!=n×(n−1)! mit 0!=10!=1
  • Iterativ (Schleife): Multipliziere einfach alle Zahlen von 1 bis nn.

Die Herausforderung ist nicht die Idee, sondern die Größe der Zahlen. Schon 20! passt in einen 64-Bit-Integer (long long in C++ oder int64), aber 21! nicht mehr. Für größere nn brauchst du beliebig genaue Arithmetik (Big Integers).

3.1 Warum Big Integers?

Normale Datentypen in Programmiersprachen haben feste Grenzen:

DatentypMaximaler Wert (ungefähr)Maximale n für n!
32-Bit int (vorzeichenlos)4,29 × 10⁹12
64-Bit int9,22 × 10¹⁸20
64-Bit double (Gleitkomma)1,79 × 10³⁰⁸ca. 170 (ungenau)

Für n=100n=100 mit 158 Stellen benötigst du also eine Bibliothek für große Zahlen. Python bietet das nativ (int ist beliebig groß). In anderen Sprachen wie C++ nutzt man GMP oder Boost.Multiprecision.

4. Dein eigenes Programm: Schritt-für-Schritt-Anleitung

Ich zeige dir jetzt, wie du mit Python (das auf jedem Betriebssystem läuft und einfach zu installieren ist) eine vollständige Tabelle der Fakultäten von 1 bis 100 erstellst und als CSV speicherst.

4.1 Was du brauchst

  • Python 3.x installiert (Download von python.org)
  • Einen Texteditor (z. B. Notepad++, VS Code, oder einfach den integrierten IDLE)

4.2 Das vollständige Skript

Erstelle eine neue Datei, z. B. fakultaeten.py, mit folgendem Inhalt:

python

import math
import csv

# Liste der Fakultäten von 1 bis 100 berechnen
print("Berechne Fakultäten von 1 bis 100 ...")

# CSV-Datei schreiben
with open('fakultaeten.csv', 'w', newline='', encoding='utf-8') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['n', 'n!'])  # Kopfzeile
    
    for n in range(1, 101):
        f = math.factorial(n)  # nutzt Pythons Big-Integer-Fähigkeiten
        writer.writerow([n, f])
        print(f"{n}! berechnet (hat {len(str(f))} Stellen)")

print("\nFertig! Die Datei 'fakultaeten.csv' wurde erstellt.")

4.3 Ausführung

  1. Speichere die Datei.
  2. Öffne ein Terminal / eine Eingabeaufforderung im selben Ordner.
  3. Führe aus: python fakultaeten.py
  4. Nach wenigen Sekunden hast du die CSV-Datei.

4.4 Die CSV-Datei verwenden

Die CSV (Comma-Separated Values) kannst du öffnen mit:

  • Excel / LibreOffice Calc (Daten → Text in Spalten, Trennzeichen Komma)
  • Texteditor (dann siehst du die riesigen Zahlen ungekürzt)
  • Python selbst zum Weiterverarbeiten, z. B.:

python

import csv
with open('fakultaeten.csv') as f:
    for row in csv.reader(f):
        print(row)

4.5 Variante für reine Textausgabe (keine CSV)

Wenn du nur die Liste sehen willst, geht es ganz kurz:

python

import math
for n in range(1, 101):
    print(f"{n}! = {math.factorial(n)}")

5. Was du bei der Programmierung beachten solltest – Fallstricke und Lösungen

ProblemLösung
Ganzzahl-Überlauf in C/C++/JavaVerwende Big-Integer-Bibliotheken oder wechsle zu Python
Zu langsame Berechnung durch naive RekursionVerwende Iteration (Schleife) oder Memoisation
Unlesbare Ausgabe wegen riesiger ZahlenSpeichere als CSV, nicht nur auf Konsole
Excel kürzt große Zahlen (wissenschaftliche Notation)In Excel: Zellen als Text formatieren vor dem Import; oder CSV mit Texteditor ansehen
Speicherplatz100! als Text ist etwa 158 Zeichen plus Kommata – vernachlässigbar (ca. 20 KB für ganze Tabelle)

6. Weiterführende Ideen – was du noch bauen kannst

  • Summe der Fakultäten: Berechne 1!+2!++100!1!+2!+⋯+100!
  • Fakultäten modulo einer Zahl (wichtig in der Kryptographie): math.factorial(n) % m
  • Rekursive Version zum Verständnis (nicht für große n):pythondef fak(n): return 1 if n == 0 else n * fak(n-1)
  • Grafische Darstellung (z. B. logarithmische Skala) mit Matplotlib
  • Vergleich mit Exponentialfunktion: Zeichne n!n! vs. 2n2n vs. nnnn (semilog-Plot)

Fazit und Ausblick

Die Fakultät ist ein Paradebeispiel dafür, wie aus einer scheinbar harmlosen Multiplikation unvorstellbare Größen entstehen. Genau diese Eigenschaft macht sie zum unverzichtbaren Werkzeug, wenn es um das Zählen von Möglichkeiten, das Abschätzen von Aufwänden oder das Verstehen von Wahrscheinlichkeiten geht.

Du hast nicht nur gelernt, was Fakultäten sind und wo sie vorkommen – du kannst sie jetzt auch selbst berechnen, strukturiert in einer CSV-Datei ablegen und für eigene Projekte nutzen. Der Schritt vom mathematischen Prinzip zum laufenden Programm ist oft kleiner, als man denkt.

Ausblick: In der höheren Mathematik wird die Fakultät durch die Gammafunktion Γ(z)Γ(z) auf reelle und komplexe Zahlen verallgemeinert. Für halbzahlige Werte ergeben sich interessante Beziehungen (z. B. Γ(1/2)=πΓ(1/2)=π​). Auch in der Signalverarbeitung (z. B. Fensterfunktionen) und in der Wahrscheinlichkeitstheorie (z. B. Chi-Quadrat-Verteilung) taucht sie immer wieder auf.

Wer die Fakultät verstanden hat, hat ein fundamentales Werkzeug der angewandten Mathematik erworben – und zugleich eine Ahnung davon bekommen, wie schnell Komplexität wachsen kann.

Kommentar abschicken