您的位置:首页 > 职场人生

腾讯面试题:50个人至少有两个人生日相同的概率

2017-10-25 10:33 176 查看
昨天看了一些有关腾讯的面试题,看到有一题是面试官问50个人至少有两个人生日相同的概率?当时面试者没回答得上来,我一想这个不难实现啊,这个可以通过之前学的概率就能计算出来,用代码实现就行。以下是实现的代码:

package test.javaSE;

import java.math.BigDecimal;

/**

* 求50个人中至少有两个生日相同的概率

* @author YE

*思路:先求出50个人中生日都不相同的概率,然后再用1减去即可得到结果

*/

public class GaiLv {

public static void main(String[] args) {

// TODO Auto-generated method stub

double a = 50;

double c = 365;

double sumA = 1;

double b = 366;

for (int i=0;i<a;i++) {

b = b-1;

sumA *= b;

//System.out.println(b + "," + sumA);

}

//System.out.println(sumA);

double sumB = Math.pow(c, a);

//System.out.println(sumB);

double tt = sumA/sumB;

//System.out.println(tt);

double JG = 1-tt;

BigDecimal JG1 = new BigDecimal(JG);

//double d3 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();

BigDecimal dd = JG1.setScale(2,BigDecimal.ROUND_HALF_UP);

System.out.println("50个人中至少有两个人生日相同概率是:" +dd);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: