Как найти сумму бесконечного ряда?

126
22 апреля 2022, 16:40

Дано:

Вот мой код:

//найти сумму бесконечного ряда
#include <iostream>
 #include <math.h>
 #include <iomanip>
 using namespace std;
 int main() 
 {
     setlocale(LC_ALL, "Russian");
     double long sum, eps, A,x,n;
     cout << "x="; cin >> x;
     cout << "eps="; cin >> eps;
     int i = 0;
     n = 5;
     A = 1 / 3.0;
     sum = A;
     cout << left << setw(3) << "i\t" << setw(10) << "a\t"; //заголовок
     cout << setw(10) << "S" << endl;
     cout << left << setw(3) << 1 << "\t" << setw(10) << A; //1 шаг
     cout << "\t" << setw(10) << sum << endl;
     for (int i = 2; abs(A) > eps && i <= n; i++) //i-ый шаг
     {
         A = A * x * x / (2 * i * (2 * i - 1));
     sum += A;
     cout << left << setw(3) << i << "\t" << setw(10) << A;
     cout << "\t" << setw(10) << sum << endl;
     }
     cout << "sum=" << sum << endl;
     return 0;
    
}

И прикладываю вывод дабы было понятно в чём ошибка:

Не идут у меня задачки с математикой сегодня...Можете помочь пожалуйста с исправлениями?

Answer 1

Вообще-то все просто... :) x у вас везде положителен, так что...

double x;
cin >> x;
cout << cosh(sqrt(x))-1 << endl;

Ну, или

double x;
cin >> x;
x = exp(sqrt(x));
cout << (x+1/x)/2 - 1 << endl;

Ну, или если реально нужно посчитать ряд - то

double S(double x, double eps)
{
    double term = x/2, sum = term;
    for(int n = 2; abs(term) > eps; ++n)
        sum += term *= x/(2*n-1)/(2*n);
    return sum;
}
READ ALSO
Скачать превью с im0-tub-ru.yandex.net

Скачать превью с im0-tub-ru.yandex.net

Каким образом в QT можно получить превью картинки с яндекскартинок

200
Самое быстрое обращение матриц

Самое быстрое обращение матриц

Всем добрый вечер! Столкнулся с потребностью сверхскростного обращения матриц без использования nplinalg

137
Установка динамической библиотеки с помощью cmake

Установка динамической библиотеки с помощью cmake

У меня есть C++/Qt библиотека, которую я написал самЯ понимаю, что для ее распространения, cmake должен устанавливать

132