浏览 8072 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-16
引用 在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; 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-04-19
刚查了下
“Srand是种下随机种子数” 根据当前时间重新生成的随机种子数 当然比全部使用1个种子数的“随机性”更强了 楼主说的没错~ |
|
返回顶楼 | |