Menu Close

C语言使用无穷级数来计算π值

使用格雷戈里 – 莱布尼茨无穷级数。数学家们发现了若干个数学级数,如果实施无穷多次运算,就能精确计算出 Pi (π)小数点后面的多位数字。

其中部分无穷级数非常复杂,需要超级计算机才能运算处理。但是有一个最简单的无穷级数,即格雷戈里-莱布尼茨级数。

尽管计算较费时间,但每一次迭代的结果都会更接近 Pi 的精确值,迭代 500,000 次后可准确计算出 Pi 的 10 位小数。

公式如下:

π = (4/1) – (4/3) + (4/5) – (4/7) + (4/9) – (4/11) + (4/13) – (4/15) …
也可以用以下算式求出PI的值

PI/4 = 1-1/3+1/5-1/7+1/9-1/11…

无穷多次运算PI算法:

例1.PI的算法程序

#include<math.h>
main()
{
   int s;
   float n,t,pi;
   t=1,pi=0;n=1.0;s=1;
   while(fabs(t)>1e-5)
   {
      pi=pi+t;
      n=n+2;
      s=-s;
      t=s/n;
   }
   pi=pi*4;
   printf("pi=%10.5f\n",pi);
 }
 

结果:

READ  C语言如何判断一个数是否是素数
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Leave the field below empty!

Posted in C语言教程