1.基本思想:

2.蒙特卡罗求圆周率:
算法示意图:

3.
import java.util.Random;
import java.util.Scanner;
/**
* 蒙特卡罗圆周率算法思想:
* @author Administrator
*
*/
public class MonteCarlo {
public static void main(String[] args) {
int n;
double PI;
System.out.println("蒙塔卡罗概率算法计算圆周率:");
Scanner input =new Scanner(System.in);
System.out.println("输入点的数量:");
n=input.nextInt();
PI=MonPI(n);
System.out.println("圆周率:"+PI);
}
public static double MonPI(int n){
double PI;
double x,y;
int i,sum=0;
for (i= 1; i< n; i++) {
x=Math.random();
y=Math.random();
if((x*x+y*y)<=1){
sum++;
}
}
PI=4.0*sum/n;
return PI;
}
}
通过代码,我们可以看到,是通过求近似值,然后约等于真值,并且通过概率计算很难得到问题的精确解的.
本文介绍了一种使用蒙特卡罗方法计算圆周率π的算法实现。该算法基于概率论原理,通过随机生成大量点并统计这些点落在单位圆内的比例来估算π值。文中提供了一个Java实现示例。
2585

被折叠的 条评论
为什么被折叠?



