Задача:
Вычислите с точностью [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 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <iostream> #include <cmath> using namespace std; int main() { double E; // Точность cin >> E; double x = 1;// ((-1)^0)/0! = 1 : первое слагаемое double sum = 1;// При любой точности сумма начинается с первого члена for(int i = 1; abs(x) > E; i++){ // Цикл подсчета суммы пока слагаемое больше точности x = -x/i; // С каждым действием знак меняется на противоположный sum += x; } cout << sum; return 0; } |
Алгоритм решения:
В условии нам дана формула суммы ряда [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] .
Спасибо за подсказку, такой код намного практичней. Я знал что существует символ \varepsilon, однако в условии был символ \epsilon. Так как условие нужно копировать дословно, я решил оставить как было, но все же согласен, что нужен правильный символ. Прошу прощение за задержку, были технические проблемы.
Согласен.
И ещё, нужно использовать latex, а не вставлять картинки. Если не знаете, как это сделать, посмотрите в разделе Questions, спросите у меня на паре или у любого из однокурсников.
— В комментариях и тексте Вы пишите «первый член суммы». У суммы слагаемые, у ряда члены. Определитесь.
— «которую нужно высчитать». У меня дежавю или у Вас хронические проблемы со словоупотреблением?
— «придает их переменной» — опять неверный глагол.
— «накапливающею». Нужно «накапливающую».
— «создаем цикл»
Андрей, нужно что-то сделать с языком. У Вас письменная речь, как у студентов-иностранцев. Вам обязательно нужно читать рекомендованные на сайте книги по программированию и обращать внимание на словоупотребление.
Все исправил…
Хорошо. Зачтено.