腾讯面试题: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);
}
}
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);
}
}
相关文章推荐
- n个人中至少有两个人生日相同的概率
- n个人中至少有两个人生日相同的概率
- 50个人中有相同生日的概率是97%
- 50个人中有相同生日的概率(考虑闰年)
- 求n个人中,生日相同的概率(Java集合框架之HashSet的用法)
- 有趣的题目“求N个人中,有至少2个人同一生日的概率”
- 求一百个人中有人生日相同的概率
- 悖论:假设一年365天,那么,至少有多少人使得有两人是同样生日的概率会超过1/2呢?
- 尹成老师视频 中代码(关于递归(腾讯面试题的50台阶))
- 两人生日相同的概率
- 第39级台阶以及腾讯面试题上50台阶的可能数
- 蓝桥杯-生日相同的概率
- 腾讯陈磊讲产品:3-5个人做不好的事,30-50人做更烂
- [面试题]N个人买可乐,买5瓶送一瓶,至少要买几瓶可乐够喝?
- 在1到20之间产生6个不相同的整数(腾讯面试题,大家围观一下)
- 尘埃落定,纪念我的校招(附腾讯,京东,YY,唯品会的面试题+个人前端心得体会)
- 相同生日概率(经典问题)
- 要从5个人中选取2个人作为礼仪,其中每个人的身高范围为160-190,要求2个人的身高差值最小(如果差值相同的话,选取其中最高的两人),以升序输出两个人的身高。
- 生日不相同的概率
- 腾讯面试题:走到50台阶的可能数(台阶可以一次走一阶或者二阶),三种方式实现