c 语言求圆周率代码,c语言 圆周率代码

  • Post author:
  • Post category:其他


01:#include

02:

03:const intDIGITS = 2400; // must: DIGITS % LEN == 0

04:const intBASE = 10000; // BASE == 10 ** LEN

05:const intLEN = 4;

06:const intTIMES = 14;

07:

08:intget_item(intpi[], intn)

09:{

10: intitem = 0;

11: for(intk = n – 1; k >= 0; k–) {

12: item += pi[k] * BASE;

13: pi[k] = item % (k * 2 + 1);

14: item /= (k * 2 + 1);

15: if(k > 0) item *= k;

16: }

17: returnitem;

18:}

19:

20:intmain()

21:{

22: intpi[DIGITS / LEN * TIMES], n = sizeof(pi) / sizeof(pi[0]);

23: for(inti = 0; i < n; i++) pi[i] = BASE / 5; // BASE / 5 == 2.000

24:for(intremainder = 0; n > 0; n -= TIMES) {

25: i