C++实现pi/π/圆周率的计算方法
π在本程序的逼近计算公式如下:
π=16arctan(1/5)-4arctan(1/239)
arctan用如下形式的级数计算:
直到级数某项绝对值不大于10-15为止;π和x均为double型。
运行程序:
#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);//注意是浮点数相乘相除,要加‘.0’
double b = 4.0 * arctan(1 / 239.0);
cout << "PI = " << a - b << endl;
return 0;
}