Задача
Вычислить бесконечную сумму с заданной (ε>0). Считать что требуемая точность достигнута если очередное слагаемое оказалось по модулю меньше, чем ε ,это и все последующие слагаемые можно уже не учитывать. Вычислить:
∑∞i=1−1ii!
Код C++
|
#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; } |
Код C++ на Ideone:
http://ideone.com/jIBbYb
Код 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в.
Комментарии
Вычисляем бесконечную сумму с точностью до ε.
Тесты
ε |
Результат |
Комментарий |
1e — 5 |
-0,632118 |
Пройден |
1e — 25 |
-0,632121 |
Пройден |
1e — 2 |
-0,625 |
Пройден |
Related Images:
Понравилось это:
Нравится Загрузка...
Похожее
Извините, таблица тестов не видна. Проверять не могу.
Исправила
Зачтено 7 баллов.
Эпсилон следовало бы читать из стандартного потока, а не менять в коде программы.