pi的计算公式无限精度c代码
时间: 2023-09-16 21:07:39 浏览: 50
以下是使用公式“莱布尼茨级数”计算pi的C代码,可以实现无限精度计算:
```c
#include <stdio.h>
#include <stdlib.h>
#include <gmp.h>
int main(int argc, char *argv[]) {
if (argc != 2) {
fprintf(stderr, "Usage: %s <precision>\n", argv[0]);
return 1;
}
mpf_t pi, term;
mpf_init_set_ui(pi, 0);
mpf_init(term);
unsigned long int n, precision;
precision = atol(argv[1]);
for (n = 0; ; ++n) {
mpf_set_ui(term, 4);
mpf_div_ui(term, term, 2*n+1);
if (n % 2 == 1) {
mpf_neg(term, term);
}
mpf_add(pi, pi, term);
if (mpf_cmp_d(term, 0) == 0) {
break;
}
}
gmp_printf("pi = %.Ff\n", pi);
mpf_clear(pi);
mpf_clear(term);
return 0;
}
```
这个程序使用GNU MP库(也称为GMP库)来实现无限精度计算。在运行时,将需要输入所需的精度作为参数,例如:
```
$ gcc -o pi pi.c -lgmp
$ ./pi 1000
pi = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679...
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)