MLoop19

Условие задачи

Вычислите с заданной точностью [latex]\varepsilon[/latex]сумму ряда [latex]\sum\limits_{i=1}^{\infty}{\frac{\sqrt{i+1}}{ie^i}} [/latex].

Задачу также можно найти здесь.

Тесты

Точность [latex]\varepsilon[/latex] Сумма ряда
1 0.1 0.637464
2 0.001 0.685288
3 0.0001 0.685782
4 0.000001 0.685848

Алгоритм решения

Поскольку в данной задаче использование рекуррентной формулы приведет только к накоплению погрешности, будем считать каждое слагаемое суммы непосредственно, пока не достигнем заданной точности. Для этого зададим начальное значение переменной exponent = M_E для [latex]i=1[/latex] , а также для первого члена ряда а = sqrt(2)/ exponent. Тогда для каждого значения счетчика нам нужного всего лишь накапливать степень экспоненты и вычислять текущий член ряда по формуле [latex]\frac{\sqrt{i+1}}{i\cdot{e}^{i}} [/latex] , накапливая сумму, пока не достигнем заданной точности эпсилон.

Проверить правильность найденной суммы можно с помощью сайта WolframAlpha.

 

Код программы

Код программы на сайте ideone.

4 thoughts on “MLoop19

  1. Работает правильно. Но наша цель научиться делать правильно.
    — Не нужно повторять дважды код в 6-й и 7-й строке. Просто присвойте =а.
    — Отношение последующего слагаемого к предыдущему здесь почти бесполезно. Таким образом следует считать только [latex]e^i[/latex].
    — Вы иногда в тексте пояснения путаете е и эпсилон.

      • Вы не учли одно из замечаний
        – Отношение последующего слагаемого к предыдущему здесь почти бесполезно. Таким образом следует считать только [latex]e^i[/latex].

        Объясню подробнее.
        При последовательном вычислении степеней нужно будет только домножать предыдущую степень на [latex]e[/latex]. Это разумная экономия в вычислениях.
        Все остальные сомножители у Вас добавляются, чтобы сократиться при следующем шаге. Т.е. единственная их задача — создать дополнительную вычислительную погрешность. Т.е. знание [latex]\sqrt{7}[/latex] ни как не помогает проще вычислить [latex]\sqrt{8}[/latex].

Добавить комментарий