【题目描述】
根据公式:
arctanx(x)=x−x33+x55−x77+...
和π=6arctanx(13√)
定义函数 arctanx(x)
,求当最后一项小于10−6时π
的值。
【输入】
(无)
【输出】
π
的值。保留到小数点后10
位。
【输入样例】
(无)
【输出样例】
(无)
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
double arctan(double x,double lim)
{
double sum=0,num =x,den =1;//num:分子 den:分母
int sign =1; //符号
while(num/den>=lim){
sum+=sign*num/den;
num*=x*x;
den+=2;
sign = -sign;
}
return sum;
}
int main()
{
cout<<fixed<<setprecision(10)<<6*arctan(1/sqrt(3),1e-6);
return 0;
}