有没有更好的算法来完成以下任务?
我正在尝试生成50个可被7整除的随机数。然后从这50个数字中随机选择一个并返回。
有没有更有效/更好的方法来随机生成可被7整除的数字?我能否以更好的方式编码/执行此操作?
我正在尝试生成50个可被7整除的随机数。然后从这50个数字中随机选择一个并返回。
有没有更有效/更好的方法来随机生成可被7整除的数字?我能否以更好的方式编码/执行此操作?
unsigned int generateRandomNumberDivisibleByN( unsigned int n, unsigned int num=10 )
{
// Post: Generate many different random numbers that are divisible by n, then randomly select one of
// of those numbers to return.
unsigned int potentialNums[num];
for (int i=0, j=2; i<num; i++, j=rand()%INT_MAX)
{
potentialNums[i] = j*n;
}
return potentialNums[ rand()%num ]; // should this be rand()%(num-1) so it never returns an invalid array index?
}
rand() * n
真的有益吗?生成随机数数组,然后再随机选择一个真的会提高效率吗? - cnicutar7*rand()
。如果您需要更具体的需求,您需要清楚地陈述要求... - R.. GitHub STOP HELPING ICEj > INT_MAX / 7
时,7*j
将会发生溢出。 - Foo Bah