7-15 计算圆周率 (15 分)
作者:互联网
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
π/2=1+1/3+2!/(3x5)+3!/(3x5x7)+⋯+n!/(3×5×7×⋯×(2n+1))+⋯
输入格式:
输入在一行中给出小于1的阈值。
输出格式:
在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。
输入样例:
0.01
输出样例:
3.132157
答:
#include<stdio.h> int main() { int i; double n,sum=1,fs,fz=1,fm=1;//分子分母可能超出长整型,用double scanf("%lf",&n); for(i=1;i>0;i++) { fz=fz*i; fm=fm*(2*i+1); fs=fz*1.0/fm; sum=sum+fs; if(fs<n) { sum=2*sum;//注意是π/2 break; } } printf("%lf",sum); return 0; }
标签:输出,fs,15,圆周率,fm,计算,sum,fz 来源: https://blog.csdn.net/QuanY2021/article/details/122770443