根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
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; }