之前已经有过不少利用数学方法在C语言的环境下来编写程序,进行一个对常数和e的算法,但是主要都是对其的近似值算法,在这里,我们主要来研究在C语言算法的基础下,研究常数π和e的高精度算法,使之计算对于数值方面更加精确。
2 圆周率π的算法
2。1 利用级数来计算π
我们知道[3],从而根据后来所学的知识,可以进一步的将这个等式转化为,即。用泰勒公式将其展开,就可以得到:
,令=1,可得 即也即来~自,优^尔-论;文*网www.youerw.com +QQ752018766-
在C语言中,可以运用循环语句[4],C语言循环控制语句提供了 while语句、do-while语句和for语句来实现循环结构。在这里我们运用while语句。
一般形式如下:while(表达式)语句;
利用C语言中double作存放结果的变量,用n作循环变量,程序如下:
#include<stdio。h>
#include<math。h>
int main()
{
int sign=1;
double pi=0。0,n=1。0,term=1。0;
while (fabs(term)>=1e-6)
{
pi=pi+term;
n=n+2;
sign=-sign;
term=sign/n;
}
pi=pi*4;
printf(“pi=%10。8f\n”,pi);
return 0;
}
运行结果如下:
3。14159065
2。2 利用数组来计算常数π
1706年,英国伦敦的约翰·马青(John Machin)发现与一个很重要的公式