C++算法之圆周率

作者:王炜
日期:2014年06月18日

用下面公式求π的近似值。π/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;
}

运行结果为 pi=3.141592 注意:不要把n定义为整型变量,否则在执行“t=s/n;”时,得到t的值为0(原因是两个整数相除)。

欢迎转载,转载请保留链接: https://www.phpzu.com/article/2014/06/18/440.html

C++算法之圆周率:等您坐沙发呢!

发表评论

*

code

0