MySQL Java JavaScript PHP Python HTML-CSS C-sharp

Funcții recursive

Printre funcții, se pot evidenția funcțiile recursive. Ele constau în faptul că o funcție se apelează pe sine.

De exemplu, să analizăm o funcție care determină factorialul unui număr:

function factorial(n){
   if (n === 1){
       return 1;
   }
   else{
       
       return n * factorial(n - 1);
   }
}
const result = factorial(4);
console.log(result); // 24

Funcția factorial() returnează valoarea 1 dacă parametrul n este egal cu 1, altfel returnează rezultatul funcției factorial() apelate cu valoarea n-1. De exemplu, atunci când se transmite numărul 4, se formează următoarea secvență de apeluri:

result = 4 * factorial(3);
result = 4 * 3 * factorial(2);
result = 4 * 3 * 2 * factorial(1);
result = 4 * 3 * 2 * 1; // 24

Vom analiza un alt exemplu - definirea numerelor Fibonacci:

function fibonachi(n)
{
   if (n === 0 || n === 1){
       return n;
   }
   else{
       return fibonachi(n - 1) + fibonachi(n - 2);
   }
}
const result = fibonachi(8); //21
console.log(result); // 21
← Lecția anterioară Lecția următoare →