怎么用c语言求圆周率
时间: 2024-12-17 13:20:43 浏览: 10
在C语言中计算圆周率π通常采用数学算法,比如著名的莱布尼茨公式、马青公式或是更精确的Chudnovsky算法。这里简单介绍一种常见的计算方法——马青公式(Bailey–Borwein–Plouffe formula),这个公式可以快速得到高精度的π值。
```c
#include <stdio.h>
#include <math.h>
// Chudnovsky algorithm function for pi calculation
double pi_chudnovsky(int n) {
double x = 4;
double term = 1;
long long int k;
for (k = 0; k <= n; ++k) {
term *= ((640320 * k + 1259730) / (k + 1) / (k + 2) / (k + 4) / (8 * k + 12));
x += term / pow(10005., 3 * k);
}
return x;
}
int main() {
int precision = 1000; // 指定计算的位数
double pi_approximation = pi_chudnovsky(precision - 1); // 减一是因为公式是从n=0开始的
printf("Pi approximation with %d digits of precision: %.20lf\n", precision, pi_approximation);
return 0;
}
```
这段代码会计算并输出指定位数的π值。注意,由于Chudnovsky算法涉及浮点运算和大整数计算,随着精度提高,效率可能会降低。
阅读全文