同学去百度面试 面试官问了一个概率问题 dota两人开黑 随机到一边的概率 一开始我想两个人 先拿出一个 去近卫的概率是一半 另一个人去近卫的概率也是一半,这样两人都在近卫的概率是14 同理都去天灾也是1/4 所以结果是1/2 但后来同学又说一个人先随机 随机到近卫的概率是1/2 另一个人再随机 随到近卫的概率就是4/9 相乘就是2/9 那么最后结果肯定不一样了 求解答
------解决方案--------------------
你原来的想法代码类似下面,结果甚至可能是10v0
- Java code
boolean[] team = new boolean[10]; Random rand = new Random(); for (int i = 0; i < team.length; i++) { team[i] = rand.nextBoolean(); } int count = 0; for (boolean b : team) { if (b) { count++; } } System.out.println(count);
------解决方案--------------------
这个答案好 百度来的
说4/9的 肯定是这么想的
第一个人在天灾的概率是1/2,而假设他在天灾了,于是第二个人在天灾的概率是4/9了
近卫同理,于是4/9
而事实上 第二个人如果魔兽内置没改变随机概率的话,到天灾的概率仍为1/2,知道天灾满人,那么到天灾的概率为0,近卫为1
这里的概率只有0,1/2,1 没有其他。