21xrx.com
2024-12-22 21:36:35 Sunday
登录
文章检索 我的文章 写文章
C++使用公式计算圆周率
2023-07-05 12:54:12 深夜i     --     --
C++ 公式 计算 圆周率 数学

圆周率(Pi)是数学中非常重要的一个常数,其值约等于3.14159。对于程序员来说,计算圆周率也是一个有趣的挑战。在C++中,可以使用公式进行计算。

首先,我们需要了解圆周率的计算公式。著名的Leibniz公式是其中之一:

π/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ...

该公式看似无限,但是在计算中我们只需要计算前N项的和即可。具体计算方法如下:

double pi(int n)

{

  double res = 0.0;

  for(int i = 0; i < n; i++) { 

    double sign = (i % 2 == 0 ? 1.0 : -1.0); 

    double cur = 1.0 / (2 * i + 1); 

    res += sign * cur; 

  }

  return 4 * res;

}

在该代码中,我们使用了for循环计算Leibniz公式的前N项,最后将结果乘以4即得到了最终的圆周率值。

另一个计算圆周率的公式是蒙特卡洛方法。该方法通过随机投点来估算圆周率值。基本思路是在一个边长为1的正方形内投点,并统计落在圆内的点数和总点数。投入的点数越多,计算出的圆周率值越接近真实值。

double pi(int n)

{

  int inside = 0;

  for(int i = 0; i < n; i++) { 

    double x = (double)rand() / RAND_MAX;

    double y = (double)rand() / RAND_MAX;

    if(x * x + y * y <= 1) {

      inside++;

    }

  }

  return 4.0 * inside / n;

}

在该代码中,我们使用了rand()函数生成0到1之间的随机数,并统计落在圆内的点数。最后将其除以总点数再乘以4即得到最终的圆周率值。

无论使用何种方法来计算圆周率,程序员们都可以通过该过程锻炼自己的编程技能和数学素养。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复