如何使用生成[0.0,1.0之间]浮点数的随机生成器在[1,n]之间生成随机数

时间:2011-11-01 15:58:13

标签: algorithm math random

假设您有一个随机数生成器生成[0.0,1.0]之间的随机浮点数,例如drand48,您如何创建一个生成[1,n]之间的整数的随机数生成器。

4 个答案:

答案 0 :(得分:11)

乘以n,发言,加1。

答案 1 :(得分:0)

获取RNG的结果,乘以n-1并加1。

答案 2 :(得分:-2)

c:

中的示例
long rand(int n)
{
    double rand1 = 0;

    rand1 = drand48();
    rand1 *= n - 1;
    rand1 += 1;

    return  (long)rand1;
}

答案 3 :(得分:-3)

我相信你可以有不同的随机数生成器。

Multiply by n, take the int, and add 1.