4.24打卡

发布时间 2023-04-24 16:40:52作者: 软工人

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
double arctan(double x)
{
    double sqr=x*x;
    double e=x;
    double r=0;
    int i=1;
    while(e/i>1e-15){
        double f=e/i;
        r=(i%4==1)?r+f:r-f;
        e=e*sqr;
        i+=2;
    }
    return r;
}
int main()
{
    double a=16.0*arctan(1/5.0);
    double b=4.0*arctan(1/239.0);
    cout<<"PI="<<a-b<<endl;
    return 0;
}