此处使用的以下Newton-Euler公式可以参考此页面或Wolfram Alpha相关页面上的公式23。
$$\frac{\pi}{2}=\sum_{k=0}^\infty\frac{2^{k}(k!)^{2}}{(2k + 1)!},$$
两边同乘以2,再将右侧分母中的偶数从分子中约去就得到下面代码中的实现公式:
$$\pi=2(1+\sum_{k=1}^\infty\prod_{j=1}^k\frac{j}{2j+1}),$$
最终代码只有三行。
代码长度:75字节 vs. 全站第一:65字节。
i=1;a=p=2*10**1004
while a:=a*i//(2*i+1):p+=a;i+=1
print("3."+str(p)[1:-4])
|