MLoop 23

Задача:

Вычислите с точностью [latex]\varepsilon[/latex]  сумму ряда [latex]{\sum_{i=1}^\infty}\frac{(-1)^i}{i!}[/latex].

Входные данные: Точность [latex]\varepsilon[/latex].

Выходные данные: Сумма ряда [latex]{\sum_{i=1}^\infty}\frac{(-1)^i}{i!}[/latex] с точностью [latex]\varepsilon[/latex].

Тесты:

0.1

0.01

0.001

0.0001

Точность

[latex]\varepsilon[/latex]

Сумма ряда

[latex]{\sum_{i=1}^\infty}\frac{(-1)^i}{i!}[/latex]

1 0.1 0.375
2 0.01 0.366667
3 0.001 0.367857
4 0.0001 0.367882

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

В условии нам дана формула суммы ряда [latex]{\sum_{i=1}^\infty}\frac{(-1)^i}{i!}[/latex] с точностью [latex]\varepsilon[/latex].

Для начала, программа читает входные данные и присваивает их переменной [latex]\varepsilon[/latex](точность). Также вводим переменную [latex]sum[/latex], равную первому члену (на случай если введенная точность не позволит циклу начаться), накапливающую сумму ряда.

Далее следует цикл [latex]for[/latex] считающий сумму членов [latex]x[/latex] пока не достигнет точности [latex]\varepsilon[/latex]. Цикл прибавляет к [latex]sum[/latex] слагаемое, деленное на [latex]i[/latex] и с противоположным знаком. По окончании цикла выводим значение суммы [latex]sum[/latex] .

Ссылка на условие задачи

Ссылка на компилятор с кодом

Андрей Яроцкий
Андрей Яроцкий

Latest posts by Андрей Яроцкий (see all)

6 thoughts on “MLoop 23

    1. \epsilon замените на \varepsilon. В LaTeX есть буква «эпсилон».
    2. Каждый раз подсчитывать факториал — решение задачи в лоб. Работать оно будет очень медленно. Для решения этой задачи не нужны ни функция возведения в степень, ни функция подсчёта факториала.
    3. Стоит заметить, что [latex](-1)^n[/latex] принимает значение -1, когда [latex]n\mod2=1[/latex], а 1 — когда [latex]n\mod2=0[/latex].
    4. Лучше хранить результат промежуточных вычислений в какой-то переменной и умножать эту переменную на [latex]\frac{(-1)^n}{i}[/latex] с каждой итерацией.
    • Спасибо за подсказку, такой код намного практичней. Я знал что существует символ \varepsilon, однако в условии был символ \epsilon. Так как условие нужно копировать дословно, я решил оставить как было, но все же согласен, что нужен правильный символ. Прошу прощение за задержку, были технические проблемы.

  1. — В комментариях и тексте Вы пишите «первый член суммы». У суммы слагаемые, у ряда члены. Определитесь.
    — «которую нужно высчитать». У меня дежавю или у Вас хронические проблемы со словоупотреблением?
    — «придает их переменной» — опять неверный глагол.
    — «накапливающею». Нужно «накапливающую».
    — «создаем цикл»

    Андрей, нужно что-то сделать с языком. У Вас письменная речь, как у студентов-иностранцев. Вам обязательно нужно читать рекомендованные на сайте книги по программированию и обращать внимание на словоупотребление.