圆周率计算
#圆周率计算公式法
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))

浙公网安备 33010602011771号