首页 > 代码库 > 循环-02. 计算圆周率(15)

循环-02. 计算圆周率(15)

根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。

输入格式:

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

输出格式:

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

输入样例:
0.01
输出样例:
3.132157

#include <iostream>
#include <cstdio>
using namespace std;

int main() {
    double result = 0;
    double temp = 1;
    double feizi = 1, feimu = 1;
    double m = 1;
    double n;
    cin>>n;
    while (temp >= n) {
			result += temp;
			feizi *= m;
			feimu *= (2 * (m + 1) - 1);
			m++;
			temp = feizi / feimu;
		}
    result += temp;
    printf("%.6f", result * 2);
    return 0;
}