Qual è la funzione fattoriale più veloce in JavaScript

Qual è la funzione fattoriale più veloce in JavaScript
In JavaScript, un fattoriale rappresenta il prodotto di tutti gli interi positivi più piccoli o uguali al numero specificato. La funzione fattoriale può essere calcolata in JavaScript usando metodi ricorsivi e iterativi. In matematica, i fattori svolgono un ruolo chiave in molti scenari, come il conteggio del numero di modi per organizzare "N"Oggetti diversi in una sequenza e così via.

Questo tutorial descriverà il modo più veloce per trovare il fattoriale in JavaScript.

Funzione fattoriale più veloce/ottimizzata in JavaScript

Esistono i seguenti modi per trovare il fattoriale in JavaScript:

  • Usando iterazione
  • Usando ricorsione

Metodo 1: trova il fattoriale usando l'iterazione

Usa il "Iterazione"Metodo per trovare il fattoriale in JavaScript. Questa funzione utilizza un "per"Loop per iterare attraverso i numeri nell'intervallo da 1 a N e moltiplica il risultato per ciascun numero nell'intervallo. È più efficiente della ricorsione perché evita il sovraccarico di chiamare ripetutamente la funzione e previene lo stack overflow se il numero è troppo grande.

Esempio

Definire una funzione "fattoriale"Ciò trova il fattoriale di un determinato numero usando il"per"Loop che iterirà attraverso il numero 1 a N e moltiplica il risultato per ciascun numero nell'intervallo:

functionFactoriale (numero)
Lascia che fact = 1;
per (var i = numero; i> 1; i--)
fatto *= i;

Fatto di ritorno;

Calcola il fattoriale di "7"Chiamando la funzione:

fattoriale (7);

Produzione

Metodo 2: trova il fattoriale usando la ricorsione

Puoi determinare il fattoriale usando il "Ricorsione" metodo. Una ricorsione è un approccio di programmazione in cui una funzione risolve un problema chiamandosi, direttamente o indirettamente. La ricorsione viene spesso utilizzata quando si risolvono problemi che possono essere divisi in sotto-problemi più piccoli e correlati.

Esempio

Definire una funzione ricorsiva che si chiama per risolvere il problema:

functionFactoriale (numero)
if (numero <0)
ritorno-1;
elseif (numero == 0)
return1;
altro
return (numero * fattoriale (numero - 1));

Nel codice seguente sopra:

  • Innanzitutto, definisci una funzione chiamata "fattoriale"Questo richiede un numero come parametro.
  • Controllare che il numero non è negativo, dovrebbe essere maggiore di 0.
  • Per questo, se il numero dato è inferiore a "0", Che significa un numero negativo, quindi restituisce"-1", E se è uguale a" 0 ", restituisce"1".
  • Se il numero è maggiore di zero, quindi, chiamare nuovamente la funzione fattoriale () bypassing del numero inferiore rispetto al numero dato.

Ora, chiama la funzione per calcolare il fattoriale del numero "7":

fattoriale (7);

L'output visualizza il fattoriale del numero "7". Ci vuole più tempo per calcolare il fattoriale a causa del sovraccarico delle chiamate di funzione, ecco perché non è l'approccio migliore e più veloce per trovare il fattoriale di un numero:

Abbiamo compilato tutte le istruzioni necessarie pertinenti alla funzione fattoriale in JavaScript.

Conclusione

IL "Ricorsivo" E "Iterativo"I metodi sono utilizzati per trovare il fattoriale. La funzione fattoriale più veloce/ottimizzata è il metodo iterativo. Il motivo è che ogni volta che viene chiamata una funzione ricorsiva, utilizza una piccola quantità di memoria per archiviare il suo stato attuale e le variabili che utilizza. Al contrario, il metodo iterativo utilizza un ciclo semplice e non richiede ulteriore memoria per archiviare lo stato della funzione. In questo tutorial, abbiamo descritto il modo più veloce per determinare il fattoriale in JavaScript.