这个计算器能做什么
本工具采用古希腊数学家阿基米德的经典割圆术来估算数学常数圆周率(π)。对于一个直径为1的圆,其周长恰好等于π。紧贴圆外侧画出的正多边形(外切多边形)周长略大于π,而画在圆内侧的正多边形(内接多边形)周长则略小于π。只要不断把边数翻倍,这两个周长就会分别从上方和下方逐步逼近π。
使用方法
先选择一个起始多边形——正方形(4边形)或正六边形(6边形)。再输入翻倍次数 \(n\);经过 \(n\) 次翻倍后,多边形的边数为 \(4\cdot 2^n\)(正方形分支)或 \(6\cdot 2^n\)(六边形分支)。然后设定显示的位数。当上下界已逼近到计算机精度极限时,计算器会自动提前停止,因此即使输入较大的 \(n\) 也完全没问题。
公式详解
设 \(a\) 为外切多边形的周长,\(b\) 为内接多边形的周长。每次迭代先计算 \(a = \frac{2\,a\,b}{a+b}\),即上一轮 \(a\) 与 \(b\) 的调和平均数;再计算 \(b = \sqrt{a\,b}\),即新的 \(a\) 与旧的 \(b\) 的几何平均数。 $$a_{k+1} = \frac{2\,a_k\,b_k}{a_k + b_k}, \quad b_{k+1} = \sqrt{a_{k+1}\,b_k}$$ 正方形分支从 \(a_0=4\)、\(b_0=2\sqrt{2} \approx 2.8284271\) 出发;六边形分支从 \(a_0=2\sqrt{3} \approx 3.4641016\)、\(b_0=3\) 出发。 $$\text{正方形: } a_0=4,\ b_0=2\sqrt{2}\qquad \text{六边形: } a_0=2\sqrt{3},\ b_0=3$$ 在整个过程中始终满足 \(b < \pi < a\)。
实例演算
以正方形为例:\(a_0=4\),\(b_0=2.82842712\)。第一轮得到 $$a_1=\frac{2\cdot 4\cdot 2.82842712}{6.82842712}=3.31370850$$ $$b_1=\sqrt{3.31370850\cdot 2.82842712}=3.06146746$$ 第二轮得到 \(a_2 \approx 3.18259788\),\(b_2 \approx 3.12144515\)。大约翻倍 25 次后,上下界就会收敛为 \(3.141592653589793\),即π的完整双精度值。
常见问题
为什么要用直径为1的圆?因为这样圆的周长恰好等于π,多边形的周长就能直接作为π的估计值,无需再做任何缩放换算。
为什么不到 \(n\) 次就停止了?标准的双精度浮点运算大约能保留 15–16 位有效数字。一旦 \(a\) 和 \(b\) 在该精度下已完全相等,继续迭代也无法改善结果,因此计算会提前结束。
正方形还是六边形,哪个更好?两者最终都收敛到同一个值。六边形的起点更接近π,因此达到相同精度所需的翻倍次数略少一些。