根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
2π=1+31+3×52!+3×5×73!+⋯+3×5×7×⋯×(2n+1)n!+⋯
输入格式:
输入在一行中给出小于1的阈值。
输出格式:
在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。
输入样例:
0.01
输出样例:
3.132157
完整代码如下:
亮点:采用分子分母同时求出来再分别相除计算的方法:double与lf同时用
#include<stdio.h>
int main()
{
double i,j,k;
double sum=1;
double n;
scanf("%lf",&n);
i=1;j=1;
double i1=1;
double j1=1;
while(i1/j1>=n)
{
if(j1==1)
i1=1;
else
{
i1=i1*(i+1);//1*2; 1*2*3;
i=i+1;
}
//1*2; 1*2*3;
j1=j1*(j+2);
j=j+2;
sum=sum+i1/j1;
//printf("%f",sum);
}
printf("%.6lf",sum*2);
return 0;
}