Найдите и исправьте ошибку в программе для нахождения факториала
Всем привет, коллеги! У меня есть вот такая задачка, бьюсь над ней со вчерашнего дня, но никак не могу найти ошибку. Условие такое: Найдите и исправьте ошибку в программе для нахождения факториала.
И вот код
var counter = prompt("Введите число");
var factorial = 1;
document.write("Факториал числа: " + counter + "! = ");
do {
if (counter == 0) {
factorial = 1;
break;
}
factorial = factorial / counter;
counter = counter + 1;
}
while (counter > 0);
document.write(factorial);
В подсказках написано, что что-то не так с самой переменной factorial, но я ничего не вижу. Пробовала разные варианты, в том числе писать factorial = factorial * counter; вместо factorial = factorial / counter;, но нет, тут явно что-то другое. Речь идет о сайте, с автоматической проверкой задачек, поэтому думаю, что тут что-то небольшое надо исправить, и не нужно переписывать все полностью. Помогите пожалуйста!
Ответы (2 шт):
Способ с циклом:
let counter = prompt("Введите число");
function factorial(n) {
let result = 1;
for (let i = 1; i <= n; i++) {
result *= i;
}
console.log("Факториал числа: " + counter + "! = " + result);
}
factorial(counter)
Ребят, решение верное оказалось следующим:
var counter = prompt("Enter the number");
var factorial = 1;
document.write("Factorial of a number: " + counter + "! = ");
do {
if (counter == 0) {
factorial = 1;
break;
}
factorial = factorial * counter;
counter = counter - 1;
} while (counter > 0);
document.write(factorial);
Решила поделиться. Всем спасибо!