蒙特·卡羅方法是一種經過幾率來獲得問題近似解的方法,在不少領域都有重要的應用,其中就包括圓周率近似值的計問題。python
假設有一塊邊長爲2的正方形木板,上面畫一個單位圓,而後隨意往木板上扔飛鏢,落點座標(x,y)必然在木板上(更多的時候是落在單位圓內),dom
若是扔的次數足夠多,那麼落在單位圓內的次數除以總次數再乘以4,這個數字會無限逼近圓周率的值。函數
這就是蒙特·卡羅發明的用於計算圓周率近似值的方法。spa
編寫程序,模擬蒙特·卡羅計算圓周率近似值的方法,輸入擲飛鏢次數,而後輸出圓周率近似值。blog
import random,math
s = 1 * 1
c = int(input())
hit = c
hits = 0
while hit != 0 :
hit = hit - 1
x = random.random()
y = random.random()
z = math.sqrt(x**2+y**2)
if z <= 1:
hits = hits + 1
PI = 4 * hits/c
print(PI)
input
這段程序主要運用經過計算落點的座標與原點的距離來肯定鏢是否在中在圓內it
當運行的次數足夠大,也就會愈來愈逼近圓周率import
另外再說一點就是python中的random()函數程序
random()函數的調用方法以下方法
import random
x = random.random()
返回的值在(0,1]之間