sum в бесконечном цикле и выводит inf
Пытаюсь решить задачу условие которой прописано вот так:

Но вот при попытке вывести sum вылезает вот это:
Как решить не знаю, но догадываюсь что проблема в первом цикле for (int k = 1; abs(term) > eps; k++)
Вот вся программа:
int main()
{
double eps = 1e-5;
cout << eps;
int n, x = 1;
cin >> n;
int factorial = 1;
double sum = 1;
double term = sum;
for (int k = 1; abs(term) > eps; k++)
{
for (int i = 0; i < n; i++)
{
factorial *= i;
for (int j = 0; i < n; j++)
{
x++;
sum += pow(x, j + 2) / factorial;
cout << sum;
}
}
}
return 0;
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
for (int i = 0; i < n; i++)
{
factorial *= i;
Чему равен factorial после первой итерации? При i==0?
И чему равен sum после деления на такой factorial?
sum += pow(x, j + 2) / factorial;
Да и потом, ну не так надо такие ряды считать, не вычисляя каждый раз факториал и степень... Рассмотрите отношение двух соседних членов ряда и идите от него.
double ch(double x, double eps = 1e-7)
{
double s = 1, t = 1;
x *= x;
for(int k = 1; abs(t) > eps; k += 2)
s += t *= x/k/(k+1);
return s;
}
Рабочая программа — здесь.
