Sys-Admin Forum

[JavaScript] Рассчитать значение суммы ряда заданного вида с точностью до 0,001.

Приветствую!

Проблема заключается в следующем: есть математический пример

который нужно решить с помощью циклов, вызов Math-функций запрещён, все ручками.

function FourPow(a)
{
    var b = a, i = 1;
    while (i<4){ b *= a; i++; }
    return b;
}

function Summ()
{
    var a=1, n=1;
    var S=0;

    while (a > 0.001)
    { a = (3*n)/(FourPow(n)-(n*n)+2);
      S += a;
    }
   
    document.write("Sum = ",S);
    Summ();
}

В конечном итоге: ничего не решается, возвращает undefined. Похоже, что образуется вечный цикл.
Прошу помощи и краткого обзора где я накосячил. Большое спасибо!

По аналогии - http://mathhelpplanet.com/viewtopic.php?f=44&t=24312, готовый html по той же теме:


<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Test</title>
</head>
<body>
<script>
function CubPow(a)
{
    var b = a, i = 1;
    while (i<3){ b *= a; i++; }
    return b;
}

function Summ()
{
    var a=5, S=5, n=2, fact=2;

    while (a > 0.001)
    { a = (3*CubPow(n)+2*n*n)/fact;
      S += a;
      n++;
      fact *= n;
    }

    document.write("Sum = ",S);
}
</script>

<form>
<input type=button value="run"  onclick="Summ()">
</form>
</body>
</html>

Дальше по аналогии додумай…

Решил задачу, всё оказалось довольно просто.

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Test</title>
</head>
<body>
<script>
function FourPower(a)
{
    var b = a, i = 1;
    while (i<4) { b *= a; i++; }
    return b;
}

function TwoPower(p)
{
    var t = p, k = 1;
    while (k<2) { t *= p; k++; }
    if (k == 2)
    return t;
}

function n5()
{
    var n=1, s=0, temp=0;
    for(n=1;;n++) {
        s=(3*n)/((FourPower(n)-TwoPower(n))+2);
        temp=temp+s;
        if (s<0.00001)
        { break; }
    }
    temp_prime=temp.toFixed(3);
    alert(temp_prime);
}
</script>
<form>
<input type="button" name="Button" value="Result" onclick="n5()"/>

</form>
</body>
</html>

Всем удачи :smile3:

p.s. Позже ещё накидаю решенных задач, может, кому пригодится.

Молодца, искать решение и находить его, ни это ли само удовольствие))) Держи +