C语言计算圆周率PI

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
#include "stdio.h" 
#include "stdlib.h" 
   
#define SCALE 10000 
#define ARRINIT 2000 
   
void pi_digits(int digits) { 
    int carry = 0; 
    int arr[digits + 1]; 
    for (int i = 0; i <= digits; ++i) 
        arr[i] = ARRINIT; 
    for (int i = digits; i > 0; i-= 14) { 
        int sum = 0; 
        for (int j = i; j > 0; --j) { 
            sum = sum * j + SCALE * arr[j]; 
            arr[j] = sum % (j * 2 - 1); 
            sum /= j * 2 - 1; 
        } 
        printf("%04d", carry + sum / SCALE); 
        carry = sum % SCALE; 
    } 
} 
   
int main(int argc, char** argv) { 
    int n = argc == 2 ? atoi(argv[1]) : 100; 
    pi_digits(n); 
   
    return 0; 
}  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:ios通过按钮点击异步加载图片代码

下一篇:Redis应用于php,连接mysql的完整案例