C Programm zum Ermitteln des Faktors einer Zahl mithilfe der Rekursion

In diesem Beispiel lernen Sie, die Fakultät einer nicht negativen Ganzzahl zu ermitteln, die der Benutzer mithilfe der Rekursion eingegeben hat.

Um dieses Beispiel zu verstehen, sollten Sie die folgenden C-Programmierthemen kennen:

  • C Funktionen
  • C Benutzerdefinierte Funktionen
  • C Rekursion

Die Fakultät einer positiven Zahl n ist gegeben durch:

factorial of n (n!) = 1 * 2 * 3 * 4 *… * n 

Die Fakultät einer negativen Zahl existiert nicht. Und die Fakultät von 0ist 1.

In diesem Beispiel lernen Sie, die Fakultät einer Zahl mithilfe der Rekursion zu ermitteln. Besuchen Sie diese Seite, um zu erfahren, wie Sie die Fakultät einer Zahl mithilfe einer Schleife ermitteln können.

Faktor einer Zahl mit Rekursion

#include long int multiplyNumbers(int n); int main() ( int n; printf("Enter a positive integer: "); scanf("%d",&n); printf("Factorial of %d = %ld", n, multiplyNumbers(n)); return 0; ) long int multiplyNumbers(int n) ( if (n>=1) return n*multiplyNumbers(n-1); else return 1; ) 

Ausgabe

Geben Sie eine positive ganze Zahl ein: 6 Faktor 6 = 720 

Angenommen, der Benutzer hat 6 eingegeben.

Zunächst multiplyNumbers()wird aus aufgerufen main()mit 6 als Argument übergeben.

Dann wird 5 multiplyNumbers()von derselben Funktion übergeben (rekursiver Aufruf). Bei jedem rekursiven Aufruf wird der Wert des Arguments n um 1 verringert.

Wenn der Wert von n kleiner als 1 ist, gibt es keinen rekursiven Aufruf und die Fakultät wird letztendlich an die main()Funktion zurückgegeben.

Interessante Beiträge...