用Python计算圆周率的两种方法
圆周率(π)是一个非常重要的数学常数,被广泛应用于数学、计算机科学和工程学中。本文将介绍两种使用Python计算圆周率的方法:蒙特卡罗方法和Bailey–Borwein–Plouffe算法。
蒙特卡罗方法
蒙特卡罗方法是一种基于随机抽样的统计学方法,因为模拟方法和金融工程领域中的使用而得名。该方法可以用来估计各种难以计算的数学和物理问题的值,其中包括圆周率。
在使用蒙特卡罗方法计算圆周率时,我们可以把一个正方形内切一个圆,然后随机生成坐标点(x,y),如果这个点位于圆内,则计数器加一。最后,通过计算这两个形状之间的面积比,可以从计数器中得到圆的面积,并计算出圆的周长,即圆周率。
下面是用Python实现蒙特卡罗方法的代码:
import random
def estimate_pi(n):
num_point_circle = 0
num_point_total = 0
for _ in range(n):
x = random.uniform(0,