蒙特卡羅方法計算圓周率
蒙特卡羅方法是一個撒點方法,取一個正圓的四分之一,和一個正方形的四分之一
形成一個單位方形,單位四分之一圓和四分之一正方形之比,就構成了圓周率
向這個區域撒點,如果點落在圓內部,就是圓內部的一部分,如果落在正方形中,就是正方形的一部分
代碼
調用random函數,並且使用了perf_counter這個函數,是可以用來計時的一部分
定義變量,當作拋灑點的總數量
撒在圓內部點為0
開始計時
循環撒點的過程看成是遍歷循環的過程
用for in range對所有點進行拋灑
定義x,y當作兩個隨機數的坐標值,這個坐標就是圓的拋點
如何判斷這個坐標就在圓內呢?判斷這個點到圓心的距離是否等於1
如果在圓的內部,就加一
用這個值比上整個區域值
輸出圓周率值
計算計算時間