求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在 1/4 圆内点的数量占总撒点数的比例计算圆周率值。
请以 123
作为随机数种子,获得用户输入的撒点数量,编写程序输出圆周率的值,保留小数点后 6 位。
代码如下:
from random import *
seed(123)
n=eval(input())
hits=0.0
for i in range(1,n+1):
x,y=random(),random()
dist=pow((x**2+y**2),0.5)
if dist<=1.0:
hits+=1
pi=4*(hits/n)
print("{:6f}".format(pi))