Писал программу, которая должна была посчитать рекурентную формулу.
У меня не сходились ответы. Я решил убрать одни скобочки и всё сошлось.
Объясните, пожалуйста, чем 1 формула отичается от 2ой?
Почему по первой формуле один ответ, а по второй другой?
Может проблема была в приоритете операций?
1)a = a * (-x)*(2*i+1)/(2*i);
2)a = a * (-x)*((2*i+1)/(2*i));
Значение по контрольной формуле должно быть равно сумме с учётом погрешности.
Язык C++:
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int main()
{
double s,x,e,a,y;
int i = 1;
cout<<"Аргумент: "<<endl;
cin>>x;
cout<<"Погрешность: "<<endl;
cin>>e;
a = 1;
s = a;
y= 1/sqrt(pow((1+x),3));
while(e <= abs(a))
{
a = a *(-1*x)*((2*i+1)/(2*i));
s +=a;
i++;
}
cout<<"Сумма ряда"<<endl;
cout<<s<<endl;
cout<<"Контрольная формула "<<endl;
cout<<y;
return 0;
}