求一个用Fortran编一个用随机数计算圆周率的程序 并要程序思路 付思路的给高分

我指的思路是流程图没说清楚不好意思... 我指的思路是流程图 没说清楚不好意思 展开
 我来答
百度网友39d9835
2011-07-25 · TA获得超过615个赞
知道小有建树答主
回答量:573
采纳率:0%
帮助的人:744万
展开全部
!简程
!前略

k = 0

do i = 1, 100000000
call random_number(x)
call random_number(y)

if ((x + y) .le. 1.0) then
k = k + 1
end if
enddo

p = k * 1.0 / N * 4

print *, p
end

思路:假设我们有一个边长为1的正方形,这个正方形必然有一个内切圆,它的直径等于正方形的边长,半径为0.5 。正方形的面积是1,其内切圆的面积为 PI*(0.5)^2 。假设只考虑第一象限,我们随机生成很多点,考虑这个点落在圆里的概率,这个概率趋向于几何概率,也就是第一象限圆的面积和正方形面积的比值。随机产生的点越多,最后求得的PI值越精确
追问
可能我不是太专业 有没有流程图 我不知道是不是叫这个 就是图示思路
追答
几何题没什么流程图
在直角坐标系放一个正方形,有一个内切圆,在正方形的范围内随机产生坐标(x,y),计算(x,y)到圆心的距离,如果大于半径便不在圆内,小于半径就在圆内
根据几何概率,点产生在圆内的概率等于圆的面积除以正方形的面积,设k为n个点出现在圆内的次数,k/n = pi * r**2 / (2r)**2 => 4k/n = pi,用这个来估计pi,即p = k * 1.0 / 100000000 * 4
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式