Я пытаюсь вычислить арктан числа, используя формулу:
arctan(x) = x - x^3/3 + x^5/5 - x^7/7...
Я должен вычислить его до 20 знаков после запятой.Ответ должен быть 0.78539....
Это код, который я написал, включая некоторые операторы отладки.Проблема в расчете, я думаю, но я просто не вижу этого.Может ли кто-нибудь указать мне правильное направление, пожалуйста?
РЕДАКТИРОВАТЬ: Не может использовать функцию atan, должен быть вручную рассчитан с использованием двойной переменной из пользовательского ввода.
#include <iomanip>
#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
int main(void)
{
double x;
int i;
int j;
int y=3;
cout<<"Please enter the number you wish to calculate the arctan of:"<<endl;
cin>>x;
//Calculate arctan of this number
cout<<x;
cout<<"\n";
cout<<y;
cout<<"\n";
cout<<"Start\n";
x=x-(pow(x,y)/y);
y=y+2;
cout << setprecision (20) << x;
cout<<"=x before loop\n";
cout<<y;
cout<<"=y before loop\n";
for(i=0;i<9;i++)
{
x=x+(pow(x,y)/y);
cout<<x;
cout<<"=x1 in loop\n";
y=y+2;
cout<<y;
cout<<"=y1 in loop\n";
x-(pow(x,y)/y);
cout<<x;
cout<<"=x2 in loop\n";
y=y+2;
cout<<y;
cout<<"=y2 in loop\n";
}
return 0;
}