[quote]
在c++中,使用c++ rand()获取随机数必须结合srand(time(NULL)),rand()是依靠初始化值产生随机数,而srand(time(NULL))初始化初始值,使每次产生的随机数不一样。在不使用srand(time(NULL)),通过测试遍历一万遍对于某个数出现的频率很大,如:()
[/quote]
在c++中,使用c++ rand()获取随机数必须结合srand(time(NULL)),rand()是依靠初始化值产生随机数,而srand(time(NULL))初始化初始值,使每次产生的随机数不一样。在不使用srand(time(NULL)),通过测试遍历一万遍对于某个数出现的频率很大,如:()
int flag1 = 0;
for(int i = 0;i <= 100000000;i++)
{
//srand(time(NULL));
int a = rand()%101;
if(a == 99)
{
flag1++;
}
}
cout<<flag1<<endl;
/**************************/
/*2*/
int flag2 = 0;
for(int i = 0;i <= 100000000;i++)
{
srand(time(NULL));
int a = rand()%101;
if(a == 99)
{
flag2++;
}
}
cout<<flag2<<endl;
[/quote]