首页 > 代码库 > [C语言]计算圆周率(Pi-X)
[C语言]计算圆周率(Pi-X)
Code:
1 #include <stdio.h> 2 int main(){ 3 const ARRSIZE=1010, DISPCNT=1000; //定义数组大小,显示位数 4 //const ARRSIZE=10100, DISPCNT=10000; 5 char x[ARRSIZE], z[ARRSIZE]; //x[0] x[1] . x[2] x[3] x[4] .... x[ARRSIZE-1] 6 int a=1, b=3, c, d, Run=1, Cnt=0,i; 7 for (i=0;i<ARRSIZE;i++){ 8 x[i]=0;z[i]=0; 9 }10 //memset(x,0,ARRSIZE);11 //memset(z,0,ARRSIZE);12 x[1] = 2;13 z[1] = 2;14 while(Run && (++Cnt<200000000)){15 //z*=a;16 d = 0;17 for(i=ARRSIZE-1; i>0; i--)18 {19 c = z[i]*a + d;20 z[i] = c % 10;21 d = c / 10;22 }23 //z/=b;24 d = 0;25 for(i=0; i<ARRSIZE; i++){26 c = z[i]+d*10;27 z[i] = c / b;28 d = c % b;29 }30 //x+=z;31 Run = 0;32 for(i=ARRSIZE-1; i>0; i--){33 c = x[i] + z[i];34 x[i] = c%10;35 x[i-1] += c/10;36 Run |= z[i];37 }38 a++;39 b+=2;40 //printf("计算了 %d 次\n",Cnt);41 }42 printf("计算了 %d 次\r\n",Cnt);43 printf("Pi=%d%d.\r\n", x[0],x[1]);44 for(i=0; i<DISPCNT; i++){45 if(i && ((i%100)==0))46 printf("\r\n");47 printf("%d",(int)x[i+2]);48 }49 }
[C语言]计算圆周率(Pi-X)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。