根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。
PI计算关系式.png
输入格式:
输入在一行中给出小于1的阈值。
输出格式:
在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。
#include<stdio.h>
int main()
{
int i;
double pi, y;
scanf("%lf", &y);
double m = 1, n = 1, k, sum=1;
for (i = 1; i < 1000; i++)
{
m *= i;
n = n*(2 * i + 1);
k = m / n;
if (k <= y)
{
sum += k;
printf("%.6f\n", 2*sum);
break;
}
else
sum += k;
}
return 0;
}
起初打算使用函数调用的方式,分别编写两个子函数实现阶乘和分母计算,后来觉得麻烦,改用此简单方式。