蒙特卡洛模拟是使用随机数和概率来解决问题。 这个方法在计算数学、物理、化学和金融等方面有广泛的应用。 本节给出一个使用蒙特卡罗模拟来估算π的例子。 circleArea / squareArea = p / 4. p可以被近似地认为是(4 * numberOfHits / 1000000p )可以被近似地认为是 (4 * numberOfHits / 1000000)
代码如此:
public class MengTeKaLuoMoNi {
public static void main(String[] args) {
final int N=1000000;
int X=0;
for(int i=1;i<=N;i++){
double x=2*Math.random()-1;
double y=2*Math.random()-1;
//落到圈上及圈内
if (x * x + y * y <= 1) {
X++;
}
System.out.println(4.0*X/N);
}
}
}