求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在1/4圆内点的数量占总撒点数的比例计算圆周率值。 请以123作为随机数种子,获得用户输入的撒点数量,编写程序输出圆周率的值,保留小数点后6位。
时间: 2024-10-12 08:12:05 浏览: 61
求解近似圆周率算法
在Python中,你可以使用random模块生成随机点并计算圆周率。以下是使用Monte Carlo方法求解圆周率的一个简单示例:
```python
import random
def monte_carlo_pi(n):
# 设置随机数种子
random.seed(123)
# 正方形边长,假设正方形的面积是1
side_length = 1.0
# 圆的半径,也是1
radius = 1.0
# 初始化圆内点计数
circle_points = 0
for _ in range(n):
x = random.uniform(-radius, radius) # 随机x坐标
y = random.uniform(-radius, radius) # 随机y坐标
if x**2 + y**2 <= radius**2: # 如果点在圆内
circle_points += 1
# 计算圆周率的估计值
pi_estimate = 4 * (circle_points / n)
# 返回保留6位小数的圆周率值
return round(pi_estimate, 6)
# 用户输入的撒点数量
points = int(input("请输入要撒下的点数: "))
pi_value = monte_carlo_pi(points)
print(f"使用{points}个点得到的圆周率近似值为: {pi_value}")
阅读全文