1. 利用数学公式计算πiziz公式是通过无穷级数的方式计算π的近似值,公式如下
π/4 = 1 – 1/3 + 1/5 – 1/7 + …
“`ccludecludeath.h>
tain()
{p = 0.0;t i = 1;
p – pi) >= 1e-8) // 精度为1e-8
{p = pi;
pi += pow(-1, i+1) / (2i-1);
i++;
}
pi = 4;tf”, pi);
Euler公式是通过级数的方式计算π的近似值,公式如下
π^2/6 = 1/1^2 + 1/2^2 + 1/3^2 + …
“`ccludecludeath.h>
tain()
double pi = 0.0;t i = 1;
while(fabs(sqrt(6pi) – M_PI) >= 1e-8) // 精度为1e-8
{
pi += 1.0 / pow(i, 2);
i++;
}
pi = 6;tf”, sqrt(pi));
te Carlo方法计算πte Carlo方法是通过随机生成点的方式计算π的近似值,公式如下
π = 4 (生成的点在圆内的个数) / (总的生成点的个数)
“`ccludecludecludee.h>cludeath.h>
tain()
{t = 1000000; // 生成的点数tt = 0;
double x, y;
de(NULL)); // 初始化随机数种子
; i++)
{d() / RND_MX; // 生成[0,1]之间的随机数d() / RND_MX;
if(sqrt(pow(x, 2) + pow(y, 2))<= 1) // 判断是否在圆内t++;
}
tft);
以上就是C语言中计算π的两种常用方法,读者可以根据自己的需要选择合适的方法。在实际应用中,还需要考虑计算精度和计算效率等问题。