圆周率计算

#圆周率计算公式法
p=0
n=100
for k in range(n):
    p+=1/pow(16,k)*(4/(8*k+1)-2/(8*k+4)-1/(8*k+5)-1/(8*k+6))
print("{}".format(p))

  

#圆周率计算蒙特卡罗法
from random import random
from time import perf_counter
h=1000*1000
hits=0.0
start=perf_counter()
for i in range(1,h+1):
    x,y=random(),random()
    dist=pow(x**2+y**2,0.5)
    if dist<=1.0:
        hits=hits+1
p=4*(hits/h)
print("{}".format(p))

  

猜你喜欢

转载自www.cnblogs.com/0907wwx/p/12600613.html