#include<stdio.h>
#include<math.h>
int main()
{
double pi=0.0,term=0.5;
int j,i,n;
while(fabs(term)>=1e-6)
{
for(i=1;i>0;i=i+2)
j=j*i/(i+1);
n=1/((i+2)*pow(2,i+2));
term=j*n;
pi=pi+term;
}
pi=6*pi;
printf("pi=%10.8f\n",pi);
return 0;
}
求π的公式為π/6=1/2+(1/2)×1/3×(1/2)∧3+(1/2×3/4)×1/5×(1/2)∧5+(1/2×3/4×5/6)×1/7×(1/2)∧7.....
uj5u.com熱心網友回復:
修改如下,供參考:#include<stdio.h>
#include<math.h>
int main()
{
double pi=0.5,term=0.0,n,j=1.0;
int i=1;
do{
//for(i=1;i>0;i=i+2)
j=j*i/(i+1);
n=1.0/(i+2)*pow(0.5,i+2);
term=j*n;
pi=pi+term;
i+=2;
}while(fabs(term)>=1e-6);
pi=6*pi;
printf("pi=%10.8f\n",pi);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/272650.html
標籤:C語言
