- 有个输出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 pp 10 p(1-p)
01 (1-p)p 00 (1-p)(1-p)
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;
原文:https://blog.csdn.net/alexingcool/article/details/7862009
2 引申
有一个函数fun能返回0和1两个值,返回0和1的概率都是1/2,问怎么利用这个