Нужно найти нужную рекурсивную функцию, а именно float RECUR. Если сможете, то исправить немного код

#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;

float U1, U2, sum, x, eps;
int n, k;

Нужно подобрать правильный рекурсив

float RECUR(float x, int m)
{
    if (m == 1) return x * x / (2 * m - 1 - 2);
    else return RECUR(x^2, m - 1) * x * m / (m - 1);
}

Инпут выставлен правильно

void INPUT() {
    while (true) {
        cout << "Input x and eps \n";
        cin >> x >> eps;
        if (eps > 0) break;
        cout << "Error! Try another eps \n";
    }
}

Здесь есть ошибки из-за того, что не могу подобрать правильный рекурсив, под это дело

int main()
{
    INPUT();
    U1 = pow((-1), (n - 1)) * pow(x, (2 * n + 1)) / (2 * n - 2); n = 1; sum = U1;
    while (true)
    {
        n++;
        U2 = -U1 * (pow(x, 2)) / (2 * n * (2 * n - 1));
        sum = sum + U2;
        if (n == k - 1 || fabs(U2 - U1) < eps)
        n++;
        U1 = U2;
    }
    cout << "For x = " << x << ", eps = " << eps << ", n = " << n << " sum = " << sum << endl;
    _getch();

Сама задача


Ответы (1 шт):

Автор решения: Harry

Ну, например, так:

double Func(double x, double eps, double term = 0, int n = 0)
{
    if (n == 0) term = x*x*x;
    else
    {
        if (abs(term) < eps) return term;
        term *= -x*x/(2*n*(2*n-1));
    }
    return term + Func(x,eps,term,n+1);
}

Убедитесь, что функция правильно вычисляет ваш ряд (для x^3*cos(x)).

→ Ссылка