求π的近似值
按照格里高利公式求π的近似值。格里高利公式为
π/4=1-1/3+1/5-1/7+....每一项的特点是:分子均为1,分母的绝对值依次为2*i-1(i=1,2,3,4,5...),奇数项为正,偶数项为父。逐项累加,直到累加项的绝对值小于1e-4。
#include<stdio.h>
#include<math.h> //喊fabs函数声明
double pi(double error); //按照格里高利公式求 π的近似值
int main()
{
printf("pi=%f\n",pi(1e-4));
return 0;
}
double pi(double error)
{//按照格里高利公式求π的近似值,error是最后一个累加项的绝对值
int sign=1,i=1;
double item,sum=0;
do
{
item=sign*1.0/(2*i-1);
sum+=item;
sign=-sign; //正负交换
++i;
} while(fabs(item)>=error);
return 4*sum;
}