
Java
Напишите на Java

Вот так суммируем ряд:
Каждый последующий (n-й) член ряда получается умножением предыдущего на 3 и на n и делением на недостающие три множителя факториала (3n). Но поскольку множитель 3n входит и в числитель, и в знаменатель, мы только делим на (3n - 1) и (3n - 2).
И так - пока член ряда не станет меньше точности.
Строго говоря, точность для знакопостоянных рядов измеряется немного по-другому (требуется найти ограничение сверху для всей оставшейся суммы), но ряд убывает настолько быстро, что это не особо важно. Можно ограничить, например, таким выражением:
Тогда точность надо записать примерно так:
public class Main {
public static void main(String[] args) {
final double EPS = 1e-4;
double a = 1.0; // a₀
double sum = a;
long n = 1, nn = 3;
while(a >= EPS) {
n++; nn += 3;
a /= (nn - 1) * (nn - 2);
sum += a;
}
System.out.println(sum);
}
}
Нулевой член ряда (= 1) сразу закладываем в сумму.Каждый последующий (n-й) член ряда получается умножением предыдущего на 3 и на n и делением на недостающие три множителя факториала (3n). Но поскольку множитель 3n входит и в числитель, и в знаменатель, мы только делим на (3n - 1) и (3n - 2).
И так - пока член ряда не станет меньше точности.
Строго говоря, точность для знакопостоянных рядов измеряется немного по-другому (требуется найти ограничение сверху для всей оставшейся суммы), но ряд убывает настолько быстро, что это не особо важно. Можно ограничить, например, таким выражением:
∞
∑ aₘ ≤ 1.665 ∙ aₙ
m=n+1
(1.665 - это округлённая в большую сторону сумма ряда обратных квадратов, который ограничивает сверху наш ряд).Тогда точность надо записать примерно так:
final double EPS = 1e-4 / 1.665; // примерно 6e-5
А в остальном - ничего не поменяется.Похожие вопросы
- Почему Android Studio написана на Java а не на С/С++?
- Помогите пожалуйста написать методы,java, Кто даст ответ дам 100 балов подарком ОТВЕТ ДАЙТЕ СЕГОДНЯ ЭТО СРОЧНО!!!!!!!!!!
- Всем привет. Помогите плз. Мне нужна помощь тех кто действительно хорошо знает Java т. к мне нужно выбрать один из курсов
- Написать программу на языке java
- Помогите доделать код на java. В форму пользователь вводит символ, который нужно заменить на #.
- Не выводит изображение в JAVA
- Java проблема с рефлексией.
- Java Developer vs Android Developer. Куда дальше?
- Пишут ли стартапы на Java?
- С какой книги начинать изучение Java?
если уже равенство, значит заданная точность достигнута...
перечитывай за своим вонючим ИИ