如何接近圆周率

How to approach pi in a circle

我收到了计算机科学专业的录取任务,我必须在该专业找 PI。要计算圆周率,我必须在正方形面积、圆形面积、点总数和圆内点数之间做一个比率。

圆的面积公式

半径^2 * π 或直径^2 * π / 4

正方形的面积公式

2*半径^2 或直径^2

I had the formule ( M / N ) * 4

我是这样得到的:

(d^2 * π / 4) : d^2 = M : N

π/4=M/N

π = ( M / N ) * 4

the problem is that I don't get pi as output, but about 14.2..

有谁知道我做错了什么吗?

所以在Processing中我写了下面的代码

float N = 0;
float M = 0;

void setup()
{
    size(400, 400);
    frameRate(90000); 
    background(255, 255, 255);
    ellipse(200,200,400,400);

}

void draw()
{

    /* Random x- en y-coordinate. */
    float x = random(0,400);
    float dx= (x-200);
    float y = random(0,400);
    float dy = (y-200);
    float d = (float)(Math.sqrt(Math.pow(dx,2) + Math.pow(dy,2)));

    /*Red in the circle*/
    if(d <= 200 ){ 
      stroke(255,0,0);
      M++;
    } 
    else{ 
      stroke(0,255,0); /*green around the circle*/
      N++;
    }
    point(x,y);
    println

    ((M/N)*4); 

}

落在圆内的点也落在正方形中,因为圆位于正方形内。

你需要做 4*M/(M+N)。