ligas
Освоившийся
Дата регистрации:
23.04.2013 23:24:18
Сообщений: 31
Вот такой у меня получился код вычисления факториала:
<script type="text/javascript">
function factorial(n)
{
var z = 1;
for (i=1; i <= n; i++) z = z * i;
return (z);
}
{
var x = prompt("Введите число, факториал которого необходимо вычислить:"
;
var y = factorial(x);
if (x >= 0) {alert("факториал числа " + x + " равен " + y );
document.write(" факториал числа (" + x + "
= " + y );}
else
if (x < 0) {alert ("Внимание! Факториала для отрицательных чисел не существует!"
;
document.write(" Факториалa нет! "
;}
}
</script>
Вроде всё работает, хотелось бы знать какие варианты ещё есть, может есть намного лучше, правильнее? Поправки и критику приветствую)
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Проще трудно написать.
13771377
Новичок
Дата регистрации:
06.06.2013 02:35:47
Сообщений: 1
Так например)
var factorialch = prompt("Введите число:"
;
function Factorial(x){
if(x < 0){return ("Факториала отрицательного числа не существует!!!"
;}
if(x == 0){return("Факториал числа " + x + " = 1"
;}
if(x > 0)
{
var z = 1;
for (i = 1; i <= x; i++)
z = z * i;
return (z);
}
}
var ch = Factorial(factorialch);
alert(ch);
ligas
Освоившийся
Дата регистрации:
23.04.2013 23:24:18
Сообщений: 31
Да уж))) я долго над этим скриптом ковырялся пока вывел, когда заработало радости было как будто весь javascript выучил)) не тут то было...
artnovich
Новичок
Дата регистрации:
06.08.2014 20:13:45
Сообщений: 7
полное решение на мой взгляд со всеми пунктами:
<script language="javascript">
var n = prompt("Введите число для вычисления его факториала n!", 0);
if (n != null) {
function factor(n) {
var x = 1;
var i = 2;
while(i <= n) {
x = x * i;
i++;
}
return x;
}
if (n < 0) {
while (n < 0){
n = prompt("Введите число больше либо равно нулю для вычисления факториала n!, где n >= 0. Факториала отрицательного числа не существует.", 0);
}
document.write(factor(n));
}
else {
document.write(factor(n));
}
}
</script>