import java.lang.Math;
public class BuffonNeedle
{
public static void main(String args[])
{
double drops = 100;
int hit = 0;
for(int r=1; r<=6; r++)
{
for(int i = 1; i <= drops; i++)
{
double y = Math.random() * 2;
if(Math.sin(Math.random()*Math.PI) + y >= 2.){
hit++;
}
}
System.out.println(drops/hit);
drops = drops * 10;
}
}
}
为什么约束距离相距2英寸,针距为1英寸,为什么不产生 Pi ?
模拟运行6次:100、1000、10000、100000、1000000、10000000。
答案 0 :(得分:0)
您需要重置hit
System.out.println(drops/hit);
drops = drops * 10;
hit = 0; //<------reset