投针实验求圆周率值的完整证明,谁知道吗?

来源:百度知道 编辑:UC知道 时间:2024/06/03 20:35:35

我们知道,当正多边形的边数无限增多时,它的极限是圆。所以“圆”这种图形可以代表弯曲得最厉害的小针。现在假定圆形小针的直径恰好与纸上两条相邻的平行线间的距离相等,那末这个圆形小针投掷下来时,不是和一条直线相交两次,就是和两条相邻的平行线相切。不管怎样,它的相交次数是2。因此,当投掷的次数为n时,碰线的次数便是2n。

现在小针的长度只有两条相邻平行线间距离的一半,所以针的长度只有上述圆形小针长度(即圆周长)的。但是可能碰线的次数是与针的长度成正比的,因此小针的可能碰线的次数k就必须满足下面的比例式:

1:(1/2π) =2n: k

于是就得到π=n/k,也就是

π=投掷总次数/碰线次数

这就是上面“投针实验”的理论根据。它又叫莆丰氏实验,在概率论中是很出名的,也可以说是近代的“统计试验法”(又叫“蒙特卡罗法”)的滥觞。

因为计算π值, 而这个公式是计算π/2的, 我们把它变形:
π = 2 + 2/3 + 2/3*2/5 + 2/3*2/5*3/7 + ...

--------------------------------------------------------------------------------
对于级数, 我们先做个简单测试, 暂时不要求精度:
用 C++ Builder 新建一个工程, 在 Form 上放一个 Memo1 和 一个 Button1, 在 Button1 的 OnClick 事件写:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
double x=2, z=2;
int a=1, b=3;
while(z>1e-15)
{
z = z*a/b;
x += z;
a++;
b+=2;
}
Memo1->Text = AnsiString(