Calcolare il fattoriale di un numero in JavaScript

Calcolare il fattoriale di un numero è un concetto matematico fondamentale che trova applicazione in vari campi della matematica, della statistica e dell'informatica. In questa guida, esploreremo come calcolare il fattoriale di un numero utilizzando il linguaggio di programmazione JavaScript. Impareremo diverse metodologie per affrontare questo problema in maniera efficiente e dettagliata.

Introduzione al fattoriale

Prima di addentrarci nella programmazione, è importante comprendere cosa sia il fattoriale di un numero. Il fattoriale di un numero intero positivo n, indicato con n!, è il prodotto di tutti gli interi positivi da 1 a n. In altre parole, n! = 1 * 2 * 3 * ... * n. Ad esempio, il fattoriale di 5 è uguale a 5! = 1 * 2 * 3 * 4 * 5 = 120.

Calcolo del fattoriale in JavaScript con ciclo for

Una delle metodologie più comuni per calcolare il fattoriale di un numero in JavaScript è utilizzare un ciclo for. Ecco un esempio di come farlo:

function calcolaFattoriale(n) {
	if (n === 0 || n === 1) {
		return 1;
	} else {
		let risultato = 1;
		for (let i = 2; i <= n; i++) {
			risultato *= i;
		}
		return risultato;
	}
}

const numero = 5;
const fattoriale = calcolaFattoriale(numero);
console.log(`Il fattoriale di ${numero} è ${fattoriale}`);

In questo esempio, abbiamo definito una funzione calcolaFattoriale che accetta un argomento n. Utilizziamo un ciclo for per moltiplicare tutti gli interi da 2 a n per ottenere il fattoriale. La funzione gestisce anche i casi in cui n è 0 o 1, ritornando 1 in quei casi, poiché 0! e 1! sono entrambi uguali a 1.

Calcolare il fattoriale di un numero tramite ricorsione

Un altro approccio per calcolare il fattoriale in JavaScript è utilizzare la ricorsione. La ricorsione è un concetto in cui una funzione chiama se stessa per risolvere un problema. Ecco un esempio:

function calcolaFattoriale(n) {
	if (n === 0 || n === 1) {
		return 1;
	} else {
		return n * calcolaFattoriale(n - 1);
	}
}

const numero = 5;
const fattoriale = calcolaFattoriale(numero);
console.log(`Il fattoriale di ${numero} è ${fattoriale}`);

In questo esempio, la funzione calcolaFattoriale chiama se stessa con un valore decrementato di n fino a quando n diventa 0 o 1, restituendo 1 in quei casi. La ricorsione offre una soluzione elegante ma è importante tener conto che può comportare un consumo di memoria significativo per valori di n molto grandi.