-2

我有代码:

 <!DOCTYPE html>
    <html>
    <body>
    <script>
    function compute(){
      var input=document.getElementById("calculator");
      var number=input.value;
      var result=calculate(number);
      document.getElementById("demo").innerHTML=result;
     }
    function calculate(number){
    var result=1;
    for(var i=3; i<= number; i++)
    {
    result*=(number*number+2);
    }
    return result;
    }

    </script>
    <input id="calculator" />
    <button onclick="compute()">Calculate</button>
    <p id="demo"></p>

    </body>
    </html> 

当 i=3 到 n 时,我的结果应该是方程式 (n²+2) 的总和。我知道结果*=(数字*数字+2);不是好的公式,它是例子。如果你知道,请帮助我。多谢你们

4

1 回答 1

1

我相信我已经理解并解决了您的问题。

首先,您计算的是重复乘积而不是重复总和。

其次,您在迭代中使用了“数字”,而不是i

所以我相信以下是您正在寻找的:

function compute(){
    var input=document.getElementById("calculator");
    var number=input.value;
    var result=calculate(number);
    document.getElementById("demo").innerHTML=result;
}

function calculate(number){
    var result=0;
    for(var i=3; i<= number; i++) {
       result+=(i*i+2);   // <--Here
    }
    return result;
}

现在输入 4 输出 29,这就是我认为你想要的。

https://jsfiddle.net/jLvg6m01/

于 2015-04-14T16:27:55.463 回答