Условие задачи:
Найти сумму сходящегося ряда:
[latex]\frac{1}{1 \cdot 4} + \frac{1}{4 \cdot 7} + … + \frac{1}{(3n — 2)(3n + 1)} + …[/latex]
Входные данные:
Целое число [latex]k[/latex] — номер искомой частичной суммы.
Выходные данные:
Искомая частичная сумма.
Тесты
№
|
Входные данные | Выходные данные |
1
|
1 | 0.25 |
2
|
234 | 0.3328591749644379 |
3
|
10000 | 0.33332222259257893 |
Код на языке C++:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <iostream> #include <iomanip> using namespace std; int main() { int k; long double val = 0; cin >> k; for (int n = 1; n <= k; n++){ val += 1.0/((3*n - 2)*(3*n + 1)); } cout << setprecision(15) <<val; 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.*; class Ideone { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); int k; double val = 0; k = in.nextInt(); for (int n = 1; n <= k; n++){ val += 1.0/((3*n - 2)*(3*n + 1)); } System.out.println(val); } } |
Решение задачи:
Используем цикл for от 1 до заданного пользователем [latex]k[/latex] номера частичной суммы, в котором будем суммировать слагаемые ряда вида: [latex]\frac{1}{(3n — 2)(3n + 1)},[/latex] где [latex]n = \overline{1,k}[/latex].
Условие задачи (стр.248)
Код задачи на C++: Ideone
Код задачи на Java: Ideone
Пожалуйста, используйте точку для обозначения операции умножения чисел.
Исправил.