Помогите написать код решения задачи на С++

Вычислить значение S, для вычисления факториала использовать функцию.

введите сюда описание изображения

Вот мои потуги написать код:

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

int fact(int x) {
    if (x <= 1) return 1;
    else return x * fact(x - 1);
}

int main(void) {
    double a, d;
    int i;
    float s, m;
    s = 0;
    for (i = 1; i < 11; i++) {
        m = 2;
        d = fact(pow(int(i), int(m)));
        a = float((pow(int(-1), int(i + 1))) / float(d));
        s = s + a;
    }
    printf("Result=%f\n", s);
}

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

Автор решения: MarianD
#include<iostream>
#include<math.h>
using namespace std;

double fact(int x) {
    if (x <= 1) return 1;
    else return x * fact(x - 1);
}

int main(void) {
    double a, d;
    int i;
    double s = 0;
    for (i = 0; i < 11; i++) {
        d = fact(i * i);
        a = pow(-1, i + 1) / d;
        s = s + a;
    }
    printf("Result=%f\n", s);
}

Вывод:

Result=-0.041664


Нужно было использовать double, когда угрожает переполнение, и цикл начинать с нуля. Ваша переменная m не была нужна т.к. ee значение всегда 2, и вместо pow(int(i), int(m)) я просто написал i * i.

→ Ссылка