计算并输出变量n的阶乘(n已经初始化)。

时间:2014-01-20 19:21:48

标签: javascript

以下是代码。谁能告诉代码有什么问题?目的是变量的因子结果。 (假设它已经宣布)

   for(var i = 0; i < 5; i++)
    {
    var n1 = Math.floor(rc4Rand.getRandomNumber() * 7) + 3;
    document.write("The factorial of " + n1 + " is ");
    outputFactorial(n1);
    }

   function outputFactorial(n)
   { 
    //I have to add some context here to post this question.
   if (n1 == 0) {
                  return 1;
                }

    else {
            return (n1 * factorial(n1 - 1));
          }
    }
     document.write(n);

2 个答案:

答案 0 :(得分:0)

简单错误:outputFactorial()函数中的参数名称为n,但您在整个函数中使用n1,从而进入无限递归循环(如果{ {1}})。

答案 1 :(得分:0)

  1. factorial 功能必须更改为 outputFactorial
  2. outputFactorial 函数中 n1 变量需要更改为 n
  3. 您必须做的是 Document.write(outputFactorial(n1));
  4. 删除功能 Document.write
  5. 的外部