假设您有一个随机数生成器生成[0.0,1.0]之间的随机浮点数,例如drand48
,您如何创建一个生成[1,n]之间的整数的随机数生成器。
答案 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.