公式计算π
【问题描述】
已知可以用下列公式计算π的近似值。给定一个π的近似值e,编程利用下列公式求得最接近e的近似值π,以及迭代次数n(大于等于1)。
π/2 = (2/1 x 2/3) x (4/3 x 4/5) x (6/5 x 6/7) x ... x [2n/(2n-1)x2n/(2n+1)]
【输入形式】
从控制台输入e( e大于2.6666667,小于3.14159)的值。
【输出形式】
输出最接近e的近似值π,以及迭代次数n(以一个空格分隔,并且输出π时要求小数点后保留9位有效数字)。
【样例输入1】
3.1201
【样例输出1】
3.120149087 36
#include <stdio.h>
#include <math.h>
int main() {
double e;
scanf("%lf", &e);
double pi_approx = 1.0;
int n=1;
double min_diff = fabs(pi_approx * 2 - e);
double best_pi_approx = pi_approx;
int best_n = n;
for (n = 1; ; n++) {
double term = ((2.0 * n) / (2.0 * n - 1.0)) * ((2.0 * n) / (2.0 * n + 1.0));
pi_approx *= term;
double diff = fabs(pi_approx * 2 - e);
标签:approx,2.0,1.0,double,C语言,近似值,计算,公式,pi
From: https://blog.csdn.net/2401_89404033/article/details/144199349