JavaScript-programma om factor van nummer te vinden met behulp van recursie

In dit voorbeeld leert u een JavaScript-programma te schrijven dat de faculteit van een getal vindt door middel van recursie.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende JavaScript-programmeeronderwerpen:

  • JavaScript-recursie
  • JavaScript if… else Statement

De faculteit van een getal is het product van alle getallen van 1 tot dat getal. Bijvoorbeeld,

faculteit van 5 is gelijk aan 1 * 2 * 3 * 4 * 5 = 120 .

De faculteit van een positief getal n wordt gegeven door:

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

De faculteit van negatieve getallen bestaat niet en de faculteit van 0 is 1 .

Voorbeeld: Factorial zoeken met behulp van recursie

 // 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.'); )

Uitvoer

 Voer een positief getal in: 4 De faculteit van 4 is 24

In het bovenstaande programma wordt de gebruiker gevraagd een nummer in te voeren.

Wanneer de gebruiker een negatief getal invoert, wordt een bericht Voer een positief getal in. wordt getoond.

Wanneer de gebruiker een positief getal of 0 invoert , wordt de functie factorial(num)aangeroepen.

  • Als de gebruiker het nummer 0 invoert, retourneert het programma 1 .
  • Als de gebruiker een nummer invoert dat groter is dan 0 , zal het programma zichzelf recursief bellen door het nummer te verlagen.
  • Dit proces gaat door totdat het nummer 1 wordt. Wanneer het nummer 0 bereikt, wordt 1 geretourneerd.

Hier,

 faculteit (4) geeft 4 * faculteit (3) faculteit (3) geeft 4 * 3 * faculteit (2) faculteit (2) geeft 4 * 3 * 2 * faculteit (1) faculteit (1) geeft 4 * 3 * 2 * terug 1 * faculteit (0) faculteit (0) geeft als resultaat 4 * 3 * 2 * 1 * 1

Interessante artikelen...