Метод 1: итеративный подход
function factorialIterative(num) {
let result = 1;
for (let i = 2; i <= num; i++) {
result *= i;
}
return result;
}
console.log(factorialIterative(5)); // Output: 120
Метод 2: рекурсивный подход
function factorialRecursive(num) {
if (num === 0) {
return 1;
}
return num * factorialRecursive(num - 1);
}
console.log(factorialRecursive(5)); // Output: 120
Метод 3: использование метода уменьшения()
function factorialReduce(num) {
return Array.from({ length: num }, (_, index) => index + 1).reduce((acc, curr) => acc * curr, 1);
}
console.log(factorialReduce(5)); // Output: 120
Метод 4. Использование тернарного оператора
function factorialTernary(num) {
return num === 0 ? 1 : num * factorialTernary(num - 1);
}
console.log(factorialTernary(5)); // Output: 120