修改随机数发生器

时间:2012-10-16 14:58:04

标签: c++ math random probability

  

可能重复:
  Random numbers with different probabilities

我必须编写一个函数,该函数将使用参数p = either 0.25 or 0.5 or 0.75并使用yes / no返回Probablity(yes) = p。由于我有统一的随机数生成器rand(),我的想法是

//representing yes -> '1' and no -> '0'
char myRandom(double d){
    char array[4];
    if (p(yes) == 0.25) strcpy(arr,"1000");
    if (p(yes) == 0.50) strcpy(arr,"1100");
    if (p(yes) == 0.75) strcpy(arr,"1110");
    return arr[rand(0,4)];
}

我知道如果有更多的可能性,它效率不高。但除此之外,我的想法有什么不对吗?如果有的话呢?

0 个答案:

没有答案