作者 杨起帆
单位 浙大城市学院
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
输入格式:
输入在一行中给出小于1的阈值。
输出格式:
在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。
输入样例:
0.01
输出样例:
3.132157
解题思路:分析等号右边发现,后一项是前一项乘以n/(2n+1),因为是计算小数点后的位数,所以要用double类型。
代码实现:
#include<stdio.h>
int main() {
int count=0;
double n, r = 1.0, PI=1.0;
scanf("%lf", &n);
while (r >= n) {
count++;
r = r* count / (2 * count + 1);
PI += r;
}
printf("%.6f", 2*PI);
return 0;
}
测试结果: