一道练习题

题目 :小明向他的女朋友仙仙求婚,在求婚戒指上刻了一个大大的爱心。仙仙看到爱心想考验一下小明,出了一道题。方程 (x2+y21)2x2y2=0 能画出一个美丽的爱心,现在给定一个点 (x,y) ,其中, XN((μ1,σ21) YN((μ2,σ22)

,这个点在这个爱心里面的概率是多少,精确到0.1(小数点后保留一位小数,比如0.1, 0.2等)


import java.util.*;

public class main {
    public static double genGaussValue(double mu, double sigma) {
        double random = new Random().nextGaussian();
        return random * sigma + mu;
    }

    public static boolean isInside(double x, double y) {
        double xx = x * x;
        double yy = y * y;
        double tmp = xx + yy - 1;
        return (tmp * tmp - xx * yy) < 0 ? true : false;
    }

    public static double learnCurve(double mu1, double sigma1, double mu2, double sigma2) {
        int N = 10000;
        int count = 0;
        for (int i = 0; i < N; i++) {
            double v1 = genGaussValue(mu1, sigma1);
            double v2 = genGaussValue(mu2, sigma2);
            if (isInside(v1, v2)) {
                count++;
            }
        }
        return count * 1.0 / N;

    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double mu1 = sc.nextDouble();
        double sigma1 = sc.nextDouble();
        double mu2 = sc.nextDouble();
        double sigma2 = sc.nextDouble();
        double res = learnCurve(mu1, sigma1, mu2, sigma2);
        System.out.printf("%.1f", res);
    }
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值