C++随机数产生器

C++随机数产生器

ID:42735814

大小:40.00 KB

页数:3页

时间:2019-09-21

C++随机数产生器_第1页
C++随机数产生器_第2页
C++随机数产生器_第3页
资源描述:

《C++随机数产生器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、随机数产生器在标准库中,提供了rand函数(函数原型见),用来产生0到RAND_MAX之间的整数(这是头文件中定义的符号常量)。RAND_MAX的值至少应为32767,也就是两个字节(16位)所能表示的最大整数值。使用:inti=rand();rand函数产生的数值范围可能与特定应用中的数值范围不同。例如,模拟掷硬币的程序只要0(正面)和1(反面),模拟投骰子的程序只要1到6之间的随机整数。可以使用求模运算符(%)和rand函数解决:rand()%2;//产生0和1整数rand()%6;//产生0到5之间的整数称为比例缩放。数字2和数字6称为比例因

2、子,然后将所产生的数值范围加1,即可得到所要结果。总结:1)由rand函数直接产生的值总是取值为:0≤rand()≤RAND_MAX2)用一个语句模拟投骰子如下:face=1+rand()%6;总是对变量face指定1≤face≤6的整数(随机)。3)将2)一般化:n=a+rand()%b;其中:a是位移值(等于所要的连续数范围的开始值),b是比例因子(即由连续整数构成的该范围的宽度。例:#include#includevoidmain(){for(inti=1;i<=20;i++){cout<<(1+rand()%6)<<'t';if(

3、i%5==0)cout<)。voidsrand(unsignedintseed);为rand函数提供随机种子(参数seed便是种子),就可以在每次执行程序时产生不同的随机数系列。例

4、:#include#includeusingnamespacestd;intmain(){unsignedseed;cout<<”Enterseed:”;cin>>seed;srand(seed);for(inti=1;i<=10;i++){cout<<(1+rand()%6)<<'t';if(i%5==0)cout<

5、动取得种子值。time函数返回当前“日历时间”的秒数,将这个值转换为无符号正数值,作为随机数产生器的种子。time函数的函数原型在(c++标准ctime)中。例:#include#includeusingnamespacestd;intmain(){srand(time(0));for(inti=1;i<=10;i++){cout<<(1+rand()%6)<<'t';if(i%5==0)cout<

6、所用时间*/#include#include#include#includeusingnamespacestd;voidselect_sort(intarray[],intn);intmain(){inti;char*t1,*t2;inta[100000];time_ttt1,tt2;srand(time(0));//使计算机通过时钟值自动取得种子值,time(0)或time(NULL)均可//tt1=time(0);t1=ctime(&tt1);//ctime完成将以秒计的时间转换为日期时间字符串for(i=0;i

7、<100000;i++){a[i]=rand()%100+100;cout<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。