Задача
Вычислить бесконечную сумму с заданной [latex]\left(\varepsilon>0\right)[/latex]. Считать что требуемая точность достигнута если очередное слагаемое оказалось по модулю меньше, чем [latex]\varepsilon[/latex] ,это и все последующие слагаемые можно уже не учитывать. Вычислить:
[latex]\sum _{i=1}^{\infty}{\frac{{-1}^{i}}{i!}}[/latex]
Код C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <iostream> #include <math.h> using namespace std; int main() { double E = 1e-5; double x = -1; double sum = 0.0; for(int i = 2; fabs(x) > E ; i++){ sum += x; x *= (-1./i); } cout << endl << sum; return 0; } |
Код Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.util.*; import java.lang.*; import java.io.*; import java.math.*; class InfiniteSum { public static void main (String[] args) throws java.lang.Exception { //Scanner read = new Scanner(System.in); double E = 1e-1; double x = -1; double sum = 0.0; for(int i = 2; Math.abs(x) > E ; i++){ sum += x; x *= (-1./i); } System.out.print("Сумма = "+sum); } } |
Код Java на Ideone: A119в.
Комментарии
Вычисляем бесконечную сумму с точностью до [latex]\varepsilon[/latex].
Тесты
[latex]\varepsilon[/latex] | Результат | Комментарий |
1e — 5 | -0,632118 | Пройден |
1e — 25 | -0,632121 | Пройден |
1e — 2 | -0,625 | Пройден |
Извините, таблица тестов не видна. Проверять не могу.
Исправила
Зачтено 7 баллов.
Эпсилон следовало бы читать из стандартного потока, а не менять в коде программы.