小编147*_*875的帖子

在fortran中使用蒙特卡罗方法估计pi

这是使用蒙特卡罗方法估计 pi ​​(3.14...) 值的典型代码。所以我在 do-while 循环的迭代次数上遇到了麻烦。直到迭代次数小于或等于 10000000 时,pi 的近似值是正确的,但是当迭代次数大于此值时,pi 的值是错误的。这些是两个不同迭代次数的输出。

输出 1.(对于 10000000 次迭代)
pi 的近似值为 3.14104080
圆中
的点数7852602.00正方形中的点数 10000000.0

输出 2.(对于 100000000 次迭代)
pi 的近似值为 4.00000000
圆中
的点数 16777216.0 正方形中的点数 16777216.0

Fortran代码:

program estimate_pi
    implicit none
    real :: length, r, rand_x, rand_y, radius, area_square, square_points, circle_points, origin_dist, approx_pi
    integer :: i, iterations

    ! length of side of a square
    length = 1
    ! radius of the circle
    radius = length/2

    ! area of the square considered
    area_square = length …
Run Code Online (Sandbox Code Playgroud)

algorithm fortran pi montecarlo

2
推荐指数
1
解决办法
484
查看次数

标签 统计

algorithm ×1

fortran ×1

montecarlo ×1

pi ×1