@Name_23

Сумма бесконечного ряда на C++?

На картинке формула, для которой нужен код на C++.
Код то сам работает, но я не уверен , правильно ли я прописал формулу:

#include <iostream>
#include <cmath>

using namespace std;

long double Fact2(int n){
if (n < 0)
return 0;
else if (n==1 || n==0)
return 1;
else
return n*Fact2(n-1);
}

 int main()
 {
  int x , k =0;
  double eps, i, sum;

do{
    std::cout << "X=";
    std::cin >> x;
    if (x==0)
    cout << "incorect vaule x" << endl;
}while (x==0);

 do{
    std::cout << "eps=";
    std::cin >> eps;
    if (eps<=0 || eps>=1)
    cout << "incorect vaule eps" << endl;
}while (eps<=0 || eps>=1);

do{
    i = (pow(-1,k) * (pow(x, k+2) / Fact2(k+1) * (4 * k+3)) );
    cout << "k=" << k << "; U=" << i << "; Sum=" << sum << endl;
    sum +=1;
    k++;
}while(abs(i) > eps);

cout << "S=" << sum << endl;
cout << "n=" << k << endl;
return 0;

}


618fa36a18e26131463845.jpeg
  • Вопрос задан
  • 767 просмотров
Пригласить эксперта
Ответы на вопрос 1
@galaxy
Как минимум:

double eps, i, sum; -> double eps, i, sum = 0;

i = (pow(-1,k) * (pow(x, k+2) / Fact2(k+1) * (4 * k+3)) );
->
i = (pow(-1,k) * (pow(x, k+2) / Fact2(k+1) / (4 * k+3)) );


sum +=1; -> sum += i;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы