Programma JavaScript per trovare il fattoriale del numero utilizzando la ricorsione

In questo esempio, imparerai a scrivere un programma JavaScript che trova il fattoriale di un numero usando la ricorsione.

Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione JavaScript:

  • Ricorsione JavaScript
  • Istruzione JavaScript if … else

Il fattoriale di un numero è il prodotto di tutti i numeri da 1 a quel numero. Per esempio,

fattoriale di 5 è uguale a 1 * 2 * 3 * 4 * 5 = 120 .

Il fattoriale di un numero positivo n è dato da:

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

Il fattoriale dei numeri negativi non esiste e il fattoriale di 0 è 1 .

Esempio: trova fattoriale utilizzando la ricorsione

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

Produzione

 Immettere un numero positivo: 4 Il fattoriale di 4 è 24

Nel programma sopra, all'utente viene richiesto di inserire un numero.

Quando l'utente immette un numero negativo, viene visualizzato un messaggio Immettere un numero positivo. è mostrato.

Quando l'utente immette un numero positivo o 0 , la funzione factorial(num)viene chiamata.

  • Se l'utente inserisce il numero 0 , il programma restituirà 1 .
  • Se l'utente immette un numero maggiore di 0 , il programma chiamerà se stesso in modo ricorsivo diminuendo il numero.
  • Questo processo continua fino a quando il numero diventa 1. Quindi, quando il numero raggiunge 0, viene restituito 1.

Qui,

 fattoriale (4) restituisce 4 * fattoriale (3) fattoriale (3) restituisce 4 * 3 * fattoriale (2) fattoriale (2) restituisce 4 * 3 * 2 * fattoriale (1) fattoriale (1) restituisce 4 * 3 * 2 * 1 * fattoriale (0) fattoriale (0) restituisce 4 * 3 * 2 * 1 * 1

Articoli interessanti...