Function, for, if(Задание)
Что не так? Только изучаю JS. Нужна помощь и объяснение.
function factorial(number){
let result;
if(number === 0)
return 1;
else if(number !== 0 && number > 0)
for(let j = 0; j > number; j++)
result = j * number;
}
factorial(0);
factorial(1);
factorial(2);
factorial(4);
factorial(5);
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
function factorial(number) {
let result = 1;
for (let j = 2; j <= number; j++)
result *= j;
return result;
}
console.log(factorial(0));
console.log(factorial(1));
console.log(factorial(2));
console.log(factorial(4));
console.log(factorial(5));
Автор решения: ТарасПрогер
→ Ссылка
Как насчет рекурсии?
function factorial(number) {
if (number < 0) // если пользователь ввел отрицательное число
return 0; // возвращаем ноль
if (number === 0) // если пользователь ввел ноль,
return 1; // возвращаем факториал от нуля - не удивляетесь, но это 1)
else // Во всех остальных случаях
return number * factorial(number - 1); // делаем рекурсию.
}
console.log(factorial(100));