在循环中使用随机数,得到的是非常相近的数,怎么解决这个问题?
随机前设置个种子 试过没
试过了,如果不设置种子,不循环都不是完全随机的
上代码
for ( int i = 0; i < num; i++ )
{
timeval psv;
unsigned long int rand_seed;
gettimeofday ( &psv , NULL );
rand_seed = psv.tv_sec * 1000 + psv.tv_usec / 1000;
srand ( rand_seed );
int r =rand%10000;
}
把随机种子放到循环前即可
timeval psv;
unsigned long int rand_seed;
gettimeofday ( &psv , NULL );
rand_seed = psv.tv_sec * 1000 + psv.tv_usec / 1000;
srand ( rand_seed );
for ( int i = 0; i < num; i++ )
{
int r =rand%10000;
}