Другие языки программирования и технологии

Java: Вычислить приблеженое значение бесконечной сумы с епс=0.00001. ((-1)в степени(n+1) *x в степени n) /n +-λ

Можно показать, что ряд сходится при x принадлежащих отрезку [-1; 1].

Погрешность вычисления суммы можно оценить 1/N, где N - номер первого отброшенного члена (данная оценка получается, например, из остаточного члена ряда Тейлора в форме Лагранжа r(x) = d^(n+1)/dx^(n+1)[ f](e)/(n+1)!*x^n).

В программе надо суммировать слагаемые ряда (-1)^(n+1)*x^n/n, пока 1/n >= eps.

Вот код программы. При запуске учитывайте, что класс Scanner вводит числа с учетом локали, а в России десятичным разделителем является запятая (пример ввода: 2,0).

> Series.java

import java.util.Scanner;

public class Series {
public static final double EPS = 0.00001;

public static double seriesSum(double x) {
double sum; /* Сумма ряда. */
double xn; /* x в степени n. */
int n;

sum = 0.0;

n = 1;
xn = x;

while (1.0/n >= EPS) {
if ((n+1)%2 == 0) {
sum += xn/n;
} else {
sum -= xn/n;
}
xn *= x;
n += 1;
}

return sum;
}

public static void main(String[] args) {
Scanner input = new Scanner(System.in);

System.out.println("Программа вычисления суммы ряда Sum {n = 1 to infty} [(-1)^(n+1)*x^n/n].");

System.out.print("x = ");
double x = input.nextDouble();

if (x >= -1.0 && x <= 1.0) {
double sum = seriesSum(x);
System.out.println("Сумма ряда равна " + sum + " с погрешностью " + EPS + ".");
} else {
System.out.println("Ряд расходится. ");
}
}
}
СК
Сапар Койлыбаев
2 433
Лучший ответ
Пишите в магент.