Die Fakultät einer Zahl ist ein wichtiges mathematisches Konzept. Sie können damit Permutationen und Kombinationen ausführen, Exponential- und Logarithmusausdrücke schreiben und Wahrscheinlichkeiten berechnen.

Sie verwenden es, um die vielen verschiedenen Möglichkeiten zu finden, wie Sie eine Sitzordnung gestalten oder T-Shirts für Ihren Urlaub auf den Malediven auswählen können. Aber wie berechnet man die Fakultät einer Zahl?

Was ist die Fakultät einer Zahl?

Die Fakultät einer positiven Zahl ist das Produkt aller positiven ganzen Zahlen, die kleiner oder gleich dem Wert der Zahl selbst sind. Eine Zahl gefolgt von einem Ausrufezeichen (!) bezeichnet die Fakultät einer Zahl. Sie stellen die Fakultät von fünf als 5 dar! und berechne es wie folgt:

5! = 5 * 4 * 3 * 2 * 1 = 120

Eine andere Möglichkeit, es zu visualisieren, ist:

5! = 5 * 4! wo 4! = 4 * 3!, 3! = 3 * 2! und so weiter, bis Sie 1 erhalten! = 1 * 0! das ist 1.

Sie werden dieses Konzept verwenden, um unser Fakultätsprogramm unter Verwendung eines beliebten Konzepts namens Rekursion zu erstellen.

instagram viewer

Was ist Rekursion?

Rekursion ist ein Vorgang, bei dem sich eine Funktion selbst aufruft. Einer der Hauptvorteile dieses Prozesses besteht darin, dass ein größeres Problem in kleinere Teile zerlegt wird. Dadurch lässt sich das Problem leichter lösen.

Sie können die Rekursion verwenden, um entsprechende Probleme in drei einfachen Schritten zu lösen:

  1. Finden Sie den Basisfall: Wenn eine Funktion sich immer selbst aufruft, ist der Prozess unendlich. Um dies zu verhindern, definieren Sie einen Basisfall, der zum logischen Haltepunkt für Ihre Funktion wird. Stoppen Sie beispielsweise in einem Fakultätsprogramm die Berechnung bei Null. Dies wird zum Basisfall für das Problem.
  2. Finden Sie die Beziehung zwischen dem Problem und den Teilproblemen: Zerlegen Sie das größere Problem in ein Teilproblem. Das Problem besteht beispielsweise darin, die Fakultät von fünf zu finden. Angenommen, Sie haben eine Fakultät von vier, also 24. Wie erhält man die Fakultät von fünf mit 24? Indem man fünf selbst hinein multipliziert. Dies ist die Beziehung zwischen dem Problem und dem Teilproblem.
  3. Verallgemeinern Sie die in Schritt 2 gefundene Beziehung: Nun, da Sie die Beziehung haben, verallgemeinern Sie sie in Bezug auf n. Die Fakultät einer Zahl n ist also das Produkt von n und der Fakultät von n-1.

Sie können dieses Konzept verwenden, um Finden Sie die Summe von n natürlichen Zahlen, berechne ggT, ​​LCM, die Fibonacci-Reihe und überprüfe Primzahlen.

Pseudocode für die Fakultätsfunktion mit Rekursion

Das ist wie Sie Rekursion verwenden und schreiben Sie den Pseudocode, um Ihr Programm in einer beliebigen Sprache zu erstellen. Bei unterschiedlichen Sprachen ändern sich Syntax und Ausführung, aber die Logik bleibt erhalten.

FunktionTatsache(N)
Wenn n == 0 Dann // Basisfall
Zurückkehren1
Zurückkehren n * Call-Fakt (n - 1) // verallgemeinerte Beziehung

Fakultätsprogramm in C

C war die erste höhere, plattformunabhängige Programmiersprache. Es hat eine strenge Syntax, unterscheidet zwischen Groß- und Kleinschreibung und führt Code mit der schnellsten Geschwindigkeit aus. Es ist eine prozedurale Programmiersprache und daher deklarieren Sie jede Funktion darüber hauptsächlich Funktion. So können Sie das Fakultätsprogramm mit Rekursion in C-Sprache erstellen:

Darin finden Sie den gesamten Quellcode des Fakultätsprogramms mit Rekursion in C, Java und Python GitHub-Repository.

  1. Importieren Sie die Standard-Eingabe-Ausgabe-Header-Datei, um die Ausgabe auf dem Bildschirm anzuzeigen.
    #enthalten <stdio.h>
  2. Funktion definieren Tatsache und ganze Zahl nehmen N als Argument.
    intTatsache(int N){
  3. Schreiben Sie den Basisfall der Funktion mit dem Wenn -Anweisung und überprüfen Sie ihre Gleichheit mit ==. Wenn n gleich Null ist, gib eins zurück.
     wenn (n == 0)
    zurückkehren1;
  4. Schreiben Sie die verallgemeinerte Gleichung und geben Sie das Produkt von zurück N mit einem Funktionsaufruf von subproblem n-1.
    zurückkehren n * Tatsache (n - 1);
    }
  5. Deklarieren Sie die Funktion main und initialisieren Sie eine Variable vom Typ Integer, um die Zahl zu speichern, deren Fakultät Sie finden möchten.
    inthauptsächlich(){
    int Zahl = 5;
  6. Zeigen Sie die Fakultät der Zahl mit an printf() Funktion. %D ist der Dezimalformatbezeichner. Verwenden Sie jeden der Formatbezeichner, um ihn durch die Zahl zu ersetzen, deren Fakultät Sie finden möchten, und erhalten Sie das Ergebnis, indem Sie die Funktion aufrufen.
     printf("Fakultät von %d ist %d", num, Tatsache (num));
    zurückkehren0;
    }

Fakultätsprogramm in Java

Java ist eine kompilierte Programmiersprache und plattformunabhängig. Sie speichern den gesamten Code in a Klasse und die Ausführung beginnt mit dem hauptsächlich Funktion. Groß- und Kleinschreibung werden beachtet und die Syntax ist streng. Der Code ist etwas länger, aber schneller im Vergleich zu Python. So können Sie das Fakultätsprogramm mit Rekursion in Java erstellen:

  1. Definieren Sie die Hauptklasse.
    KlasseHauptsächlich{
  2. Definieren Sie eine statische Funktion mit dem Rückgabetyp int, die eine Variable n vom Typ Integer akzeptiert. Sie haben eine statische Methode deklariert, da die Hauptmethode in Java ebenfalls als statisch deklariert ist. Darüber hinaus können Sie keine nicht statische Methode von einer statischen Instanz aus aufrufen.
    statischintTatsache(int N){
  3. Schreiben Sie den Basisfall der Funktion mit dem Wenn -Anweisung und überprüfen Sie ihre Gleichheit mit ==. Wenn n gleich Null ist, gib eins zurück.
     wenn (n == 0)
    zurückkehren1;
  4. Schreiben Sie die verallgemeinerte Gleichung und geben Sie das Produkt von zurück N mit einem Funktionsaufruf von subproblem n-1.
    zurückkehren n * Tatsache (n - 1);
    }
  5. Deklarieren Sie die Hauptfunktion in Java. Deklarieren Sie den Zugriffsmodifikator als öffentlich, sodass alle anderen Klassen und Methoden darauf zugreifen können. Sie deklarieren die Hauptfunktion als statisch damit der Compiler sie aufrufen kann, ohne die Klasse zu instanziieren. Der Rückgabetyp ist Leere, und es akzeptiert Argumente vom Typ Schnur. Speichern Sie die Zahl, deren Fakultät Sie finden möchten.
    öffentlichstatischLeerehauptsächlich(String[] Argumente){
    int Zahl = 5;
  6. Verwenden Sie die println() Methode, eine Instanz der PrintStream Klasse, definiert in der System Klasse, um die Fakultät der Zahl anzuzeigen.
     System.out.println("Fakultät von " + Zahl + " Ist " + Tatsache (Zahl));
    }
    }

Fakultätsprogramm in Python

Das Schreiben von Code in Python ist super einfach und macht Spaß. Da es sich um eine interpretierte plattformunabhängige Sprache handelt, müssen Sie den Datentyp von Variablen nicht deklarieren. Außerdem vermeiden Sie es, für ein so einfaches Programm Klassen zu deklarieren und Bibliotheken zu importieren. Der Spielplatz ist bereit, damit Sie mit dem Codieren beginnen können.

Die Syntax ist einfacher, mit einer kleinen Codelänge, benötigt aber etwas mehr Zeit zur Ausführung als die anderen Sprachen. So können Sie das Fakultätsprogramm mit Rekursion in Python erstellen:

  1. Definieren Sie den Funktionsfakt, der als Argument n akzeptiert wird.
    defTatsache(N):
  2. Schreiben Sie den Basisfall der Funktion mit dem Wenn -Anweisung und überprüfen Sie ihre Gleichheit mit ==. Wenn n gleich Null ist, gib eins zurück.
     wenn n == 0:
    zurückkehren1
  3. Schreiben Sie die verallgemeinerte Gleichung und geben Sie das Produkt von zurück N mit einem Funktionsaufruf von subproblem n-1.
    zurückkehren n * Tatsache (n-1)
  4. Speichern Sie die Zahl, deren Fakultät Sie finden möchten, und zeigen Sie sie mit der Druckanweisung an.
    Zahl = 5;
    drucken("Fakultät von", num, "Ist", Tatsache (Zahl))

Es gibt viele Anwendungen der Rekursion

Rekursion ist eine effektive Möglichkeit, Probleme zu lösen. Es ist der Kern der künstlichen Intelligenz und wird in der realen Welt in Puzzlespielen wie Schach oder Sudoku eingesetzt.

Es ist auch eine leistungsstarke Methode zum Sortieren von Datenstrukturen wie Tree oder Sortieralgorithmen wie Quick Sort und Merge Sort. Sie können die Rekursion auch in Suchalgorithmen wie der binären Suche, mathematischen Ausdrücken wie der Fibonacci-Reihe und mehr verwenden.