根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
2π=1+31+3×52!+3×5×73!+⋯+3×5×7×⋯×(2n+1)n!+⋯

输入格式:

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

输出格式:

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

输入样例:

  1. 0.01

输出样例:

  1. 3.132157

思路:得使用double类型

  1. #include<stdio.h>
  2. int main(){
  3. int i=0;
  4. double fz,fm,fs;
  5. double yz,sum;
  6. scanf("%lf", &yz);
  7. fm = fz = 1;
  8. sum = fs = fz/fm;
  9. while(fs>=yz){
  10. i++;
  11. fz = fz * i;
  12. fm = fm * ( 2*i+1 );
  13. fs = fz/fm;
  14. sum = sum + fs;
  15. }
  16. printf("%.6lf", 2*sum);
  17. return 0;
  18. }