根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。

2π

输入格式:

输入在一行中给出小于1的阈值。

输出格式:

在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。

输入样例:

0.01

输出样例:

3.132157

#include<stdio.h>
int main()
{
     int n=0;
     double e,f;//e为输入的阈值,f为单独一项的值
     double fz=1,fm=1;//初始化分子,分母为1
     double sum=0,pi;//sum为各项的和,pi为最终结果
     while(~scanf("%lf",&e))
     {
         for(f=1;f>=e;n++)
         {
             if(n==0)//第一项单独讨论
                 fz=1;
             else
                 fz=fz*n;//后一项的分子等于前一项的分子乘上n
             fm=fm*(2*n+1);//后一项的分母等于前一项的分子乘上(2n+1)
             f=fz/fm;
             sum=sum+f;
         }
         pi=2*sum;
         printf("%.6f\n",pi);
     }
     return 0;
}