太自由

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
 1 //编写一个C++程序求PI的值
 2 /*
 3  PI=16arctan(1/5)-4arctan(1/239)
 4  其中arctan用如下形式的极数计算:
 5     arctan=x-(x^3/3)+(x^5/7)-(x^7/7)+...
 6 */
 7 #include<iostream>
 8 using namespace std;
 9 double arctan(double x){
10     double sqr = x*x;
11     double e = x;
12     double r = 0;
13     int i = 1;
14     while(e/i>1e-16){
15         double f = e/i;
16         r = (i%4==1)?r+f:r-f;
17         e = e*sqr;
18         i+=2;
19     }
20     return r;
21 }
22 int main()
23 {
24     double a = 16.0*arctan(1/5.0);
25     double b = 4.0*arctan(1/239.0);
26     cout<<"PI="<<a-b<<endl;
27     system("pause");
28     return 0;
29 }

posted on 2015-12-17 20:08  太自由  阅读(4209)  评论(0编辑  收藏  举报