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