圆周率--习题
from random import random
from time import perf_counter
DARTS=1000*1000
hits=0.0
start=perf_counter()
for i in range(1,DARTS+1):
x,y=random(),random()
dist=pow(x**2+y**2,0.5)
if dist<=1.0:
hits=hits+1
pi=4*(hits/DARTS)
print("圓周率值是:{}".format(pi))
print("運行時間是:{:2f}s".format(perf_counter()-start))
N=100
for k in range(N):
pi+=1/pow(16,k)*(\
4/(8*k+1)-\
2/(8*k+4)-\
1/(8*k+5)-\
1/(8*k+6)\
)
print("圓周率是:{}".format(pi))
from time import perf_counter
DARTS=1000*1000
hits=0.0
start=perf_counter()
for i in range(1,DARTS+1):
x,y=random(),random()
dist=pow(x**2+y**2,0.5)
if dist<=1.0:
hits=hits+1
pi=4*(hits/DARTS)
print("圓周率值是:{}".format(pi))
print("運行時間是:{:2f}s".format(perf_counter()-start))
?
pi=0N=100
for k in range(N):
pi+=1/pow(16,k)*(\
4/(8*k+1)-\
2/(8*k+4)-\
1/(8*k+5)-\
1/(8*k+6)\
)
print("圓周率是:{}".format(pi))
?
轉載于:https://www.cnblogs.com/pengwa1226/p/10466863.html
總結
- 上一篇: ESXI问题汇总
- 下一篇: 求最小公倍数的最简模板