C++随机数重复的问题
来源:互联网 发布:svm算法推荐 编辑:程序博客网 时间:2024/04/30 10:06
错误的产生:
#include<iostream>#include<time.h>#include<stdlib.h>using namespace std;int main(){//在循环中初始化种子,将会导致随机数重复for(int i=0;i<=10;i++){ srand((unsigned int)time(NULL)); cout<<rand()<<endl;}}
原因是因为,把随机数的seed初始化放在循环内部,将导致seed不断被执行初始化,而rand()函数是在第一次被初始化之后,随着每次调用都根据上一次的“随机数”来产生新的“随机数”。所以seed不断被初始化,那么rand()一直也在根据seed来产生第一个“随机数”,而现在的计算机,运行上面的程序根本不需要一秒,所以time(NULL)短时间内使一毛一样的。
还有和上面一毛一样的错误我也犯过-。-:
#include<iostream>#include<time.h>#include<stdlib.h>using namespace std;int xxx(){srand((unsigned int)time(NULL));for(int i=0;i<=10;i++){ /*---balabala中间一坨代码省略,反正就是递归-----*/ cout<<rand()<<endl; xxx();}}
也作死的出现同样的错误,啊哈哈哈哈,我都怕了
所以别在同一时间用srand(time(0))函数初始化种子多次
0 0
- C++随机数重复的问题
- C#Random产生随机数重复问题
- 生成不重复的随机数(C#,C++)
- c产生一组不重复的随机数
- 【Unity&C#&随机数】如何产生连续不重复的随机数
- 不重复随机数的产生问题
- 产生一系列不重复随机数的问题
- C# 不重复随机数的产生问题
- 一个C#随机数的问题,解决随机数重复
- 一个C#随机数的问题,解决随机数重复
- 不重复随机数问题
- c# 随机数重复问题
- 不重复的随机数
- 不重复的随机数
- 【转】关于C语言生成不重复的随机数
- C++产生不重复的随机数方法详解
- C++产生不重复的随机数
- 取随机数不重复问题
- C语言学习之关键字第二讲
- CountDownLatch与CyclicBarrier
- 在Android上实现多进程构架的浏览器(浏览器开发)的讨论
- Unity导入FBX汇总
- A+B Problem(V)(南阳oj844)
- C++随机数重复的问题
- 深入理解Java:注解(Annotation)--注解处理器
- 融云调用图片,通讯录和语音异常
- MySQL学习记录
- 浅析NGUITools.DestroyImmediate和NGUITools.Destroy的区别
- 处理大并发之 对epoll的理解,epoll客户端服务端代码
- 漏洞小知识概况
- 打印IOS设备内存使用情况
- 脑补原码、反码、补码