PHP: function pai($n = 100) { $w = $n + 10; $b = bcpow(10, $w); $rtemp = bcmul($b, 4); $x1 = bcdiv($rtemp, 5); $x2 = bcdiv($b, -239); $he = bcadd($x1, $x2); $n = $n * 2; for ($i = 3; $i < $n; $i = $i + 2) { $x1 = bcdiv($x1, -25); $x2 = bcdiv($x2, -57121); $x = bcdiv(bcadd($x1, $x2), $i); $he = bcadd($he, $x); } $pai = bcmul($he, 4); $pai = bcdiv($pai, bcpow(10, 10)); return $pai; } JS: 要在 JavaScript 中使用 BigInt,只需要在整数字面量后面加上“n”后缀。 要增加计算的位数,只需要简单地增加zhishu的指数,如计算一百万位:1000020n。 位数越多需要的事件越久。 function pai(zhishu = 1020n){ let i = 1n; let x = 3n * (10n ** zhishu); let pi = x; while (x > 0) { x = x * i / ((i + 1n) * 4n); pi += x / (i + 2n); i += 2n; } return (pi / (10n ** 20n)).toString(); }