Дописать код нахождения факториала
Дописать код в соответствии с инструкциями в задании
В теле функции дописать ИТЕРАТИВНЫЙ (то есть с помощью цикла) алгоритм нахождения факториала.
var input = prompt("Введите число: ");
input = parseInt(input);
function factorial(x) {
if (x <= 1)
return 1;
var result = 1;
for(var i = x; ) {
result =
}
return result;
}
document.write("Факториал " + input + "! = " + factorial(input));
Как будет правильно и почему не работает:
for(var i = x-1; i>1; i--) {
result = x *= i;
}
|
novicer,
<script>
var input = 5//prompt("Введите число: ");
input = parseInt(input);
function factorial(x) {
if (x <= 1)
return 1;
var result = 1;
for(var i = x; i;) {
result *= i--
}
return result;
}
document.write("Факториал " + input + "! = " + factorial(input));
</script>
|
Спасибо, но не подходит. Делаю тест на одном сайте (правила форума еще не читал, не знаю можно ли его указать), там код проверяется автоматически.
|
Разобрался сам =)
var input = prompt("Введите число: ");
input = parseInt(input);
function factorial(x) {
if (x <= 1)
return 1;
return x * factorial(x - 1);
}
document.write("Факториал " + input + "! = " + factorial(input));
|
Цитата:
Вообще не стоит применять рекурсивные вызовы если есть простой аналог с циклом. |
| Часовой пояс GMT +3, время: 06:45. |