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

昨天看了一些有关腾讯的面试题,看到有一题是面试官问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 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);

}

}




你可能感兴趣的:(腾讯面试题:50个人至少有两个人生日相同的概率)