-2

I have code:

 <!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> 

My result should be sum of the equations (n²+2) when i=3 to n. I know that result*=(number*number+2); is not good formula, it is example. If you know, please help me. Thanks guys

Aviator
  • 613
  • 4
  • 11
  • 26

1 Answers1

1

I believe I have understood and fixed your issue.

Firstly, you were calculating a repeating product rather than a repeating sum.

Secondly, you were using "number" in your iteration, as opposed to i.

So I believe the following is what you are looking for:

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;
}

Now an input of 4 gives output of 29, which is what I think you want.

https://jsfiddle.net/jLvg6m01/

ne1410s
  • 6,864
  • 6
  • 55
  • 61