最近学习C++,有道例题个人感觉很有意思,分享给大家。
就是计算圆周率PI的精度的。
题目要求如下:
#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),然后用循环实现,这个循环实现方式感觉还经典。自我感觉这个例子让我学会了怎么去用程序实现一些数学上的计算。也让我想起了研究生唯一的一门数学课,数值分析。