【006】求pi的近似值

【题目】 用下面公式求π的近似值。π/4≈1-1/3+1/5-1/7+…直到最后一项的绝对值小于10的-7次方为止。

根据给定的算法很容易编写程序如下:

【解答】

#include <iostream>

#include <iomanip>

#include <cmath>

    using namespace std;

int main( )

{int s=1;

 double n=1,t=1,pi=0;

 while((fabs(t))>1e-7)

   {pi=pi+t;

  n=n+2;

  s=-s;

  t=s/n;

 }

 pi=pi*4;

 cout<<″pi=″<<setiosflags(ios∷fixed)<<setprecision(6)<<pi<<endl;

return 0;

}

 

求π的近似值示例的算法脉络:

构造第一项t;

while(末项t的绝对值大于10的-7次方)

{

 累加末项t;

 构造下一个末项t;

}

其中,构造下一个末项t:

 1. 上一项的分母n增加2用作新分母n

 2. 上一项的分子s取负用作新分子s

 3. t = s/n

posted @ 2015-10-11 23:09  薛定谔的猪  阅读(1163)  评论(0编辑  收藏  举报