C語言計算圓周率PI

jopen 9年前發布 | 1K 次閱讀 C/C++

#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; 

} </pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!