给一个函数,返回 0 和 1,概率为 p 和 1-p,请你实现一个函数,使得返回 01 概率一样


自己写的,不清楚对不对,仅供参考,应该还可以优化,有更好的办法,希望大家留言,谢谢

思路:

第一次返回0,第二次返回1的概率是p*(1-p)
第一次返回1,第二次返回0的概率是(1-p)*p 
00概率是p平方;11概率是(1-p)平方 ,这两种情况导致概率偏差舍弃.

代码如下:

给定的函数方法:index>n; 概率根据n的数字确定;

//假设给定的函数
     public static int generateZeroAndOne() {
            int index=new Random().nextInt(10);
            if(index>3) {
                return 0;
            }
                return 1;
        }

下面是调整概率的代码:

public static int rate() {
      
int b1=generateZeroAndOne(); int b2=generateZeroAndOne(); if (b1==0&&b2==1) { return 0; } else if(b1==1&&b2==0) { return 1; } return rate(); }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM