7-116 计算圆周率 (15分)
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
输入格式:
输入在一行中给出小于1的阈值。
输出格式:
在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。
输入样例:
0.01
输出样例:
3.132157
#include <stdio.h>
int main(int argc, char **argv) {
double n,s,a=1,b=1,sum=1;
scanf("%lf",&n);
s=a/b;
for(int i=1;s>=n;i++){
a*=i; //分子
b*=(i*2+1); //分母
s=1.0*a/b; //单个分数
sum+=s;
}
printf("%.6f",2*sum);
return 0;
}