这篇“Java怎么实现一个函数,使得返回的概率一样”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java怎么实现一个函数,使得返回的概率一样”文章吧。
题目:给一个函数,返回 0 和 1,概率为 p 和 1-p,请你实现一个函数,使得返回 01 概率一样。
思路:连续调用两次基础随机函数,那么有四种结果:
1、00概率为p*p;
2、11概率为(1-p)*(1-p);
3、10概率为(1-p)*p;
4、01概率为p*(1-p) 可以看到结果3和结果4是概率相等的。
public class SameProbability {
/**
* 生成0的概率为p,生成1的概率为1-p。
*
* 生成0 1 概率为p(1-p)
* 生成1 0概率为(1-p)p
* 则相等的
*/
public static int getZeroOrOneSameProbability() {
Random ra =new Random();
while (true) {
int i = ra.nextInt(10);
int j = ra.nextInt(10);
if (i == 0 && j == 1) {
return 1;
}else if (i == 1 && j == 0) {
return 0;
}else{
continue;
}
}
}
public static void main(String[] args) {
int result = getZeroOrOneSameProbability();
System.out.println(result);
}
}
以上就是关于“Java怎么实现一个函数,使得返回的概率一样”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。