Как найти сумму ряда? [дубликат]

124
22 апреля 2022, 17:10
На этот вопрос уже даны ответы здесь:
Как вывести сумму ряда? (2 ответа)
Закрыт 1 год назад.

Дано натуральное число x и количество рядов равное 5 как вывести сумму ряда?

Вот мой код:

// найти сумму ряда
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
    
    double x;
    cout << "x=";
    cin >> x;
    for (int n = 1; n <= 5; n++)
    {
        double a = x, s = 0;
        for (int i = 2; i <= n * 2; i += 2)
        {
            a *= -1 * (x * x) / (2*i*(2*i-1));
            s += a;
        }
        cout << "N=" << n << "  S=" << s << endl;
    }
}

И вот что выводит в результате: Помогите пожалуйста исправить формулу чтобы она выводила верные цифры.

Answer 1

Давайте посмотрим a(n + 1) и a(n)

a(n) = (-1)^n * x^(2n + 2) / (2n + 2)!
a(n+1) = (-1)^(n+1) * x^(2(n+1) + 2) / (2(n+1) + 2)! = (-1)^n * x^(2n + 4) / (2n + 4)!

значит

a(n+1)/a(n) = -1 * x^2 / (2n + 3)(2n + 4)

или если считать от a(n+1):

a(n)/a(n-1) = -1 * x^2 / (2(n-1) + 3)(2(n-1) + 4) = -1 * x^2 / (2n + 1)(2n + 2)

Смотрим ваш код:

a *= -1 * (x * x) / (2*i*(2*i-1));

и вот ваше (2*i*(2*i-1)) вроде как не похоже на (2i + 1)(2i + 2)

проверьте меня на всякий случай

Код:

double x = 2;
double part = x * x / 2; // f(n = 0)
double sum = 0;
for (int n = 1; n <= 5; n++)
{
    part *= -1 * (x * x) / ((2 * n + 1) * (2 * n + 2));
    sum += part;
    cout << "N = " << n << "  S = " << sum << endl;
}
READ ALSO
clang парсинг комментариев

clang парсинг комментариев

Начал изучения библиотеки clang для парсинга кодаМне необходимо найти все комментарии

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

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

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

200