您的位置:首页 > 其它

一道练习题

2017-07-14 18:03 190 查看
题目:小明向他的女朋友仙仙求婚,在求婚戒指上刻了一个大大的爱心。仙仙看到爱心想考验一下小明,出了一道题。方程(x2+y2−1)2−x2y2=0能画出一个美丽的爱心,现在给定一个点(x,y),其中,X∼N((μ1,σ21),Y∼N((μ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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: