返回【0,n)中的一个随机整数
int nrand(int n)
{
if (n <= 0 || n >RAND_MAX)
throw domain_error("Argumen to nrand is out of range");
const int bucket_size = RAND_MAX / n;
int r;
do r = rand() / bucket_size;
while (r >= n);
return r;
}
返回【0,n)中的一个随机整数
int nrand(int n)
{
if (n <= 0 || n >RAND_MAX)
throw domain_error("Argumen to nrand is out of range");
const int bucket_size = RAND_MAX / n;
int r;
do r = rand() / bucket_size;
while (r >= n);
return r;
}