求蒙特卡洛计算 圆周率的 java程序

 我来答
e_fal
2010-10-11 · 超过21用户采纳过TA的回答
知道答主
回答量:53
采纳率:0%
帮助的人:63万
展开全部
原理:
根据圆面积的公式: s=πR2 ,当R=1时,S=π。
由于圆的方程是:x^2+y^2=1(x^2为X的平方的意思),因此1/4圆面积为x轴、y轴和上述方程所包围的部分。
如果在1*1的矩形中均匀地落入随机点,则落入1/4园中的点的概率就是1/4圆的面积。其4倍,就是圆面积。
由于半径为1,该面积的值为π的值。

程序如下:
import java.util.Random;

public class pai {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

int N = 100000; /*定义随机点数*/
int n = 0,i,resulttimes;
double r;
double x,y; /*坐标*/
Random s = new Random();
for(resulttimes=0;resulttimes<10;resulttimes++){ /*输出十次结果*/
for (i=1;i<=N;i++)
{
x=s.nextDouble(); /*在0~1之间产生一个随机x坐标*/
y=s.nextDouble(); /*在0~1之间产生一个随机y坐标*/
if(x*x+y*y<=1.0) n++; /*统计落入单位圆中的点数*/
}
r=(double)n/N;
System.out.println("The result of pai is "+r*4); /*计算出π的值*/
n=0;
}
}

}
陈学阳
2010-10-13 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5719万
展开全部
π*直径。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式