JavaScript-Programm zum Ermitteln des Faktors der Zahl mithilfe der Rekursion

In diesem Beispiel lernen Sie, ein JavaScript-Programm zu schreiben, das die Fakultät einer Zahl mithilfe der Rekursion ermittelt.

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

  • JavaScript-Rekursion
  • JavaScript if… else Anweisung

Die Fakultät einer Zahl ist das Produkt aller Zahlen von 1 bis zu dieser Zahl. Beispielsweise,

Fakultät von 5 ist gleich 1 * 2 * 3 * 4 * 5 = 120 .

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

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

Die Fakultät für negative Zahlen existiert nicht und die Fakultät für 0 ist 1 .

Beispiel: Faktor mit Rekursion suchen

 // program to find the factorial of a number function factorial(x) ( // if number is 0 if (x == 0) ( return 1; ) // if number is positive else ( return x * factorial(x - 1); ) ) // take input from the user const num = prompt('Enter a positive number: '); // calling factorial() if num is positive if (num>= 0) ( const result = factorial(num); console.log(`The factorial of $(num) is $(result)`); ) else ( console.log('Enter a positive number.'); )

Ausgabe

 Geben Sie eine positive Zahl ein: 4 Die Fakultät 4 ist 24

Im obigen Programm wird der Benutzer aufgefordert, eine Nummer einzugeben.

Wenn der Benutzer eine negative Zahl eingibt, wird eine Meldung eingegeben. Geben Sie eine positive Zahl ein. wird gezeigt.

Wenn der Benutzer eine positive Zahl oder 0 eingibt , wird die Funktion factorial(num)aufgerufen.

  • Wenn der Benutzer die Nummer 0 eingibt , gibt das Programm 1 zurück .
  • Wenn der Benutzer eine Zahl größer als 0 eingibt , ruft sich das Programm rekursiv auf, indem es die Zahl verringert.
  • Dieser Vorgang wird fortgesetzt, bis die Zahl 1 wird. Wenn die Zahl 0 erreicht, wird 1 zurückgegeben.

Hier,

 Fakultät (4) gibt 4 * Fakultät (3) Fakultät (3) gibt 4 * 3 * Fakultät (2) Fakultät (2) gibt 4 * 3 * 2 * Fakultät (1) Fakultät (1) gibt 4 * 3 * 2 * zurück 1 * Fakultät (0) Fakultät (0) gibt 4 * 3 * 2 * 1 * 1 zurück

Interessante Beiträge...