• 概率p输出1,概率1-p输出0,等概率输出0和1


    有个输出0和1的BIASED RANDOM,它以概率p输出1,以概率1-p输出0,以此RANDOM函数为基础,生成另一个RANDOM函数,该函数以1/2的概率输出1,以1/2的概率输出0

    题目解答:

    两次调用该RANDOM函数,如果其概率为P(x),调用2次

    P(1) = p       P(0) = 1-p

    P'(1) =p      P'(0) = 1-p

    概率如下:

    11  p*p        10  p*(1-p)

    01 (1-p)*p   00 (1-p)*(1-p)

    观察发现 运行两次该函数,出现0和1的概率和出现1和0的概率是一样的

    所以有如下代码

    int random_0_1()  
    {  
        int i = RANDOM();  
        int j = RANDOM();  
        int result;  
      
        while (true)  
        {  
            if (i == 0 && j == 1)  
            {  
                result = 0;  
                break;  
            }  
            else if (i == 1 && j == 0)  
            {  
                result = 1;  
                break;  
            }  
            else  
                continue;  
        }  
      
        return result;  
    }  
  • 相关阅读:
    C#Webform 控件
    C#Webform
    MVC Razor 语法
    input file 添加
    ajax
    jquery动画
    jquery选择器,事件 dom操作
    linq 复杂查询
    webform(linq增删改查)
    asp.net内置对象
  • 原文地址:https://www.cnblogs.com/zzt-lovelinlin/p/9138966.html
Copyright © 2020-2023  润新知