计算圆周率π的值

2021-07-06 10:59:15 浏览数 (1)

最近学习C ,有道例题个人感觉很有意思,分享给大家。

就是计算圆周率PI的精度的。

题目要求如下:

套用linus大佬的一句话,talk is cheap,show me the code。
代码语言:javascript复制
#include <iostream>
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;
}

这个主要利用了级数求actan(x),然后用循环实现,这个循环实现方式感觉还经典。自我感觉这个例子让我学会了怎么去用程序实现一些数学上的计算。也让我想起了研究生唯一的一门数学课,数值分析。

0 人点赞