Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <math.h>
- using namespace std;
- // рекурсивная функция возведения числа х в k-ую степень
- double power(double x, int k);
- // функция вычисления члена ряда
- double term_of_series(double x, int k);
- // рекурсивная функция вычисления суммы ряда
- double sum_of_series(double x, int k, int n);
- int main()
- {
- int n; // количество суммируемых членов ряда
- double x, // значение аргумента
- sum; // сумма членов ряда
- cout << "Введите значение аргумента 'x' : ";
- cin >> x;
- if (x * x >= 1)
- {
- cout << "Ошибка. Аргумент не удовлетворяет условию: x^2 < 1";
- return 0;
- }
- cout << "Введите количество членов ряда 'n' : ";
- cin >> n;
- // вычисление суммы ряда
- sum = 2 * sum_of_series(x, 1, n);
- cout << "Сумма членов ряда : " << sum << endl;
- return 0;
- }
- // рекурсивная функция возведения числа х в k-ую степень
- double power(double x, int k)
- {
- if (k == 1)
- return x;
- return x * power(x, k - 1);
- }
- // функция вычисления члена ряда
- double term_of_series(double x, int k)
- {
- double result = 0;
- result = power(x, 2 * k - 1) / (2 * k - 1);
- cout << " Член ряда : " << k << " Значение : " << result << endl;
- return result;
- }
- // рекурсивная функция вычисления суммы ряда
- double sum_of_series(double x, int k, int n)
- {
- if (k <= n)
- {
- // вычисление суммы
- return (term_of_series(x, k) + sum_of_series(x, k + 1, n));
- }
- else
- {
- // прекращаем вычисления суммы, если количество членов
- // ряда превысило заданное количество
- return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement