下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第C++中的伪随机数目录真随机数伪随机数举个例子C++代码示例题目
真随机数
自然界中的有很多不确定的物理现象,通过测量这些现象,就可以获得真随机数。
比如白噪声的幅值、电子元器件的电压噪声等,真随机数可以通过用硬件对这些参数进行采集获得。
伪随机数
伪随机数序列是用确定性的算法计算出来的周期很长的序列。
程序的运行过程是一个确定的过程,每一条指令都是确定的,因此不能产生真的随机数。
说到伪随机数就会说到种子,什么是种子呢,我们可以将种子理解为一个初始值,特定算法根据这个初始值产生一个一定的序列,生成的这个序列看起来是随机的,实际上是一个周期很长的确定序列。
如果每次的种子设置得相同,那么产生的序列都是相同的。
举个例子
我们可以简单的设置这个种子为某个数,比如1。
请看如下代码,用srand()设置种子的值,用rand()产生伪随机数序列,需要包含头文件#includestdlib.h。重复运行下列代码,因为种子相同,所以每次输出的序列都是如图的序列4118467633426500。
srand(1);//设置种子的值为1,如果不设置,默认种子为1
for(inti=0;i++i){
coutrand()"";//输出10个伪随机数
}
如果每次种子设置得不同,那生成的序列也将不同。如何获得不同的种子呢?
可以用C语言中的库函数time_ttime(time_t*seconds)返回自1970-01-0100:00:00UTC起经过的时间,以秒为单位。
这个函数的入参seconds也能保存结果,请看如下代码,输出的t和seconds的值是一样的。
time_tseconds;
time_tt=time(seconds);
coutt""secondsendl;//t和seconds的值是一样的
那么,我们将当前的时间设置为种子,由于时间一直在变,种子就一直在变,每次就能生成不同的伪随机数序列。
time_tt=time(nullptr);
srand(t);//设置种子的值为时间
for(inti=0;i++i){
coutrand()"";
}
C++代码示例
题目
将1-100的有序序列变成无序序列,要求每次运行的结果不同。
//题目:将1-100的有序序列变成无序序列,要求每次运行的结果不同。
voidfun(vectorintvec){
time_tt=time(nullptr);
srand(t);//设置种子的值为时间
rand();
for(inti=0;i500;++i){
//每次随机交换数组中的两位
swap(vec[rand()%100],vec[rand()%100]);
intmain(){
vectorintvec(100);
for(inti=0;i100;++i){
vec[i]=i+1;
fun(vec);
for(autoit:vec){
couti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海外国语大学贤达经济人文学院《护理伦理学》2025-2026学年期末试卷
- 上海行健职业学院《推拿治疗学》2025-2026学年期末试卷
- 儿科疱疹性口炎患儿护理指南
- 胰头癌术后护理培训指导
- 2026年成人高考土木工程专业力学单套试卷
- 2026年成人高考高起专市场营销学单套试卷
- h1受体拮抗剂的最佳适应证是
- 浙江高考真题及答案
- 2025-2026学年人教版七年级音乐上册音乐欣赏与鉴赏测试卷(含答案)
- 云南高考理综试卷及答案
- 2026广西北海市从“五方面人员”中选拔乡镇领导班子成员25人笔试备考试题及答案解析
- 2026广西北海市产业投资有限责任公司招聘4人备考题库带答案详解(综合卷)
- 2026年滁州城市职业学院单招综合素质考试题库含答案详细解析
- 2026年四川省南充市辅警人员招聘考试试题解析及答案
- 2026四川泸州高新控股旗下泸州产城招引商业管理有限公司人员招聘4人考试参考题库及答案解析
- 全国计算机等级考试二级Python编程真题及答案解析(共10套真题)
- 新人教版五年级下册数学(新插图)练习六 教学课件
- GB/T 23901.2-2019无损检测射线照相检测图像质量第2部分:阶梯孔型像质计像质值的测定
- GB/T 19812.3-2017塑料节水灌溉器材第3部分:内镶式滴灌管及滴灌带
- GB/T 11363-2008钎焊接头强度试验方法
- 110kV瓮北变110kV间隔扩建工程施工组织设计
评论
0/150
提交评论