Рекурсивные функции

Последнее обновление: 28.10.2023

Среди функций отдельно можно выделить рекурсивные функции. Их суть состоит в том, что функция вызывает саму себя.

Например, рассмотрим функцию, определяющую факториал числа:

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

Функция factorial() возвращает значение 1, если параметр n равен 1, либо возвращает результат опять же функции factorial, то в нее передается значение n-1. Например, при передаче числа 4, у нас образуется следующая цепочка вызовов:

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

Рассмотрим другой пример - определение чисел Фибоначчи:

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
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850