Das folgende Beispiel zeigt eine einfache und beliebte Implementierung der Fakultätsfunktion. Der rekursiven Variante wird hier zur Verdeutlichung eine iterative Variante gegenübergestellt. Die Rekursion kommt dadurch zum Ausdruck, dass die Funktion sich selbst mit einem um 1 verringerten Argument aufruft.

#include <iostream>       // Für std::cin und std::cout
unsigned int fakultaet(unsigned int zahl) {
    if (zahl <= 1) {
        return 1; // Die Fakultät von 0 und 1 ist als 1 definiert.
    } else {
        return zahl * fakultaet(zahl - 1);
    }
}
int main() {
    unsigned int zahl;
    std::cout << "Bitte Zahl eingeben: ";
    std::cin >> zahl;                           // Zahl einlesen
    std::cout << "Die Fakultät von " << zahl << // Antwort ausgeben
        " ist " << fakultaet(zahl) << "." << std::endl;
}

Zuletzt geändert: Sonntag, 25. Oktober 2020, 10:05