import numpy as np
# 生成10的6次方個隨機點
npts = 10**6
points = np.random.rand(npts, 2)
# 計算點到原點的距離
distances = np.sqrt(points[:,0]**2 + points[:,1]**2)
# 計算落在1/4單位圓內的點的數量
nins = np.sum(distances <= 1)
# 蒙地卡羅方法計算圓周率
estimate = 4 * nins / npts
print("%.4f" % estimate)
aW1wb3J0IG51bXB5IGFzIG5wCgojIOeUn+aIkDEw55qENuasoeaWueWAi+maqOapn+m7ngpucHRzID0gMTAqKjYKcG9pbnRzID0gbnAucmFuZG9tLnJhbmQobnB0cywgMikKCiMg6KiI566X6bue5Yiw5Y6f6bue55qE6Led6ZuiCmRpc3RhbmNlcyA9IG5wLnNxcnQocG9pbnRzWzosMF0qKjIgKyBwb2ludHNbOiwxXSoqMikKCiMg6KiI566X6JC95ZyoMS805Zau5L2N5ZyT5YWn55qE6bue55qE5pW46YePCm5pbnMgPSBucC5zdW0oZGlzdGFuY2VzIDw9IDEpCgojIOiSmeWcsOWNoee+heaWueazleioiOeul+Wck+WRqOeOhwplc3RpbWF0ZSA9IDQgKiBuaW5zIC8gbnB0cwoKcHJpbnQoIiUuNGYiICUgZXN0aW1hdGUp