飞镖概率(java)

1、一个四方形被分为更小的四部分,如下图所示。如果将一个飞镖投入这个四边形1000000次,那么这个飞镖投入奇数标记的区域的概率有多大?编写程序模拟这个过程,然后显示结果(程序命名为MonteCarloSimulation.java)。     
提示:将这个四边形的中心放在直角坐标系的原点。



import java.util.Random;
public class MonteCarloSimulation {
  public static void main(String[] args) {
    int total= 1000000;
    int num = 0;

    Random random = new Random();

    for (int i = 0; i < total; i++) {
      double x = random.nextDouble() * 2 - 1; // -1<x<1
      double y = random.nextDouble() * 2 - 1;

      if (x < 0  || (x > 0 && y<1-x)) {
        num++;
      }
    }

    double maby= (double) num / total;
    System.out.printf("投掷飞镖 %d 次后,投入奇数标记区域的概率是: %.6f\n", total, maby);
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>