生成代码,计算π的近似值,使用莱布尼茨公式。
时间: 2024-11-12 10:33:23 浏览: 40
莱布尼茨公式(Leibniz formula for π)是一种用于计算圆周率π的无穷级数。该公式定义为:
π = 4 * (1 - 1/3 + 1/5 - 1/7 + 1/9 - ...)
其中,每个分数的分母都是奇数,分子是1,奇数位置为正,偶数位置为负。这个级数收敛得非常慢,但可以编写代码进行逐项相加来逼近π。
以下是一个简单的C程序,使用这种方法计算π的近似值:
```c
#include <stdio.h>
#include <math.h>
double calculate_pi(int n) {
double sum = 0.0;
for (int i = 0; i <= n; i++) {
if (i % 2 == 0) {
// 偶数项取负
sum += pow(-1, i / 2) / (2 * i + 1);
} else {
// 奇数项取正
sum += pow(1, i / 2) / (2 * i + 1);
}
}
return 4 * sum;
}
int main() {
int iterations; // 指定级数的迭代次数
printf("Enter the number of iterations to approximate pi: ");
scanf("%d", &iterations);
double pi_approx = calculate_pi(iterations);
printf("Approximation of pi after %d iterations: %.16f\n", iterations, pi_approx);
return 0;
}
```
在这个程序中,`calculate_pi` 函数执行莱布尼茨公式,接受一个整数参数 `n` 表示级数中的项数,然后计算pi的近似值。`main` 函数从用户那里获取迭代次数,并输出结果。
要运行此程序,你需要在终端或命令行中编译并运行它,或者将代码保存到`.c`文件并在支持C编译器的环境中编译。
阅读全文