C++梅钦公式实现可选精度求pi(Π)

#include<iostream>
#include<iomanip>
using namespace std;
double arctan(double x);

int main(int argc, char const* argv[]){
    
    double a = 16.0 * arctan(1.0 / 5.0);
    double b = 4.0 * arctan(1.0 / 239.0);
    double pi = a - b;
    cout << setprecision(50); //可选输出精度,这次为50位
    cout << "pi = " << pi << endl;

    system("pause");
    return 0;
}

double arctan(double x) {
    double head = x; //head分子
    int tail = 1;    //tail分母
    double art = 0;

    while ((head / tail) > 1e-15) {
        art = (tail % 4 == 1) ? art + head / tail : art - head / tail;
        head *= x * x;
        tail += 2;
        cout << "///" << endl;
        cout << tail << endl;
        cout << "///" << endl;
    }

    return art;
}

1)实现方式:梅钦公式(实现方式自行百度。。。)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值