作者:浅浅的醉意_942_932 | 来源:互联网 | 2023-02-02 20:54
看到谭浩强c++里面有个求PI值的问题,小弟不大懂,源程序如下
#include
#include
#include
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="< return 0;
}
这里面
while((fabs(t)) > 1e-7)
{pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}这个式子怎么得来的,为什么要这样列呢
11 个解决方案
这个是个数学问题
求PI的公式为:PI=4*(1-1/3+1/5-1/7+1/9......)
至于(fabs(t)) > 1e-7
这个是循环中止条件,精确的小数点后7位
太戳了。
这个。。。。。。。。。。。。。。
实在不知道怎么解释。
数学的一些算法还是比较死的。
照着写就可以了
這個是公式,還有其他的表示方法,如PI=6(1/1^2+1/2^2+1/3^2+..+1/N^2)
)