代码
import time
import random
hits=0
pi=0
DARTS=100000*100000
start=time.perf_counter()
for i in range(DARTS):
x,y=random.random(),random.random()
dist=pow(x ** 2+y**2,0.5)
if dist <= 1.0:
hits+=1
pi=4*(hits/DARTS)
print("圆周率的值是{:.10f}".format(pi))
print("程序运行时间为{}s".format(time.perf_counter()-start))
100万个数据

100亿个数据
三个半小时运行时间

本文介绍了一种利用随机投点法计算圆周率π的Python代码实现。通过生成大量随机点并判断其是否位于单位圆内,进而估算π的值。实验中分别使用了100万和10亿个数据点进行测试,展示了算法的精确性和运行效率。
754

被折叠的 条评论
为什么被折叠?



