|
|
发表于 2003-10-29 14:15:06
|
显示全部楼层
Good job. fast, accurate.
- #include<stdio.h>
- #include<math.h>
- #define TERM 100
-
- double poly[TERM];
-
- double zhentai(double x);
-
- main(int argc,char ** argv){
- double z,step;
- for(z=0,step=0.0001;z<=3.0;z+=step){
- printf("z=%lf,y=%lf\n",z,zhentai(z));
- }
-
- return 0;
- }
-
- double zhentai(double x){
- double y;
- int c;
- double tmp;
- poly[0]=x;
- y=0;
- for(c=1;c<TERM;c++){
- tmp=x*x/(c*2);
- poly[c]=poly[c-1]*tmp;
- }
- for(c=1;c<TERM;c++){
- poly[c]=poly[c]/(2*c+1);
- }
- for(c=0,tmp=1;c<TERM;c++){
- y+=poly[c]*tmp;
- tmp*=-1;
- }
- y=0.5+0.39894228*y;
- return y;
- }
-
复制代码 |
|