C/C++随机数rand()和种子函数srand()】的更多相关文章

在计算机编程中,常常要产生一个随机数.但是要让计算机产生一个随机数并不那么容易.计算机的执行,是以代码来进行的,所以并不可能像抽牌,扔骰子那样产生一个真正具有随机意义的数.只可能以一定的算法产生一个伪随机数,C/C++提供了一个函数,放在cstdlib中,叫做rand(),原型为:int rand(void);. 显然,这个函数不接受任何参数,它的作用是:产生一个[0..RAND_MAX]之间的随机数.RAND_MAX也存放在cstdlib中,是一个宏常量: #define RAND_MAX O…
有时候,我们需要随机产生一个在某范围的数,C/C++提供了一个库函数rand()来产生随机数. 函数原型:int rand(void); 功能:返回一个[0,RAND_MAX]间的随机整数.其中RAND_MAX是定义在stdlib.h头文件中的一个常量. 注意: rand()函数包含在头文件stdlib.h中,要使用它必须用#include<stdlib.h>引入该头文件: 计算机实际上并没有真正做到产生一个随机数,只是在一串预先定义好的数据中选择一个返回给函数. 那么,如何得到一个在a到b的…
rand()函数 rand()会返回一随机数值, 范围在0至RAND_MAX 间.RAND_MAX定义在stdlib.h, 其值为2147483647. 测试代码: #include<cstdlib> #include <iostream> using namespace std; int main() { for (int i = 0; i < 10; i++) { cout << rand() << endl; } system("pau…
计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子.(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535,当你取得65535个随机数后它们又重复出现了.) 我们知道rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数(我们可以称它为种子)为基准以某个递推公式推算出来的一系列数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,…
标准函数库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h中定义的一个整数,它与系统有关. 例如在我的机器上,RAND_MAX=32767.可以使用 printf("%ld",RAND_MAX);查看. 调用rand()可以生成一个随机数,但我们往往需要的是一个有上下界的随机数. 例如 要产生一个[a,b]之间的随机整数x x = rand()%(b-a+1)+a 产生区间[a,b]上的随机实数 z = ((double)rand…
srand()就是给rand()提供种子seed. 如果srand每次输入的数值是一样的,那么每次运行产生的随机数也是一样的. 以一个固定的数值作为种子是一个缺点.通常的做法是 :以这样一句srand((unsigned) time(NULL));来取代,这样将使得种子为一个不固定的数,这样产生的随机数就不会每次执行都一样了.详细用法如下: #include <iostream> #include <stdlib.h> #include <time.h> using n…
转自:http://blog.163.com/wujiaxing009@126/blog/static/719883992011113011359154/ 一.C++中不能使用random()函数      random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过.但在C语言中int random(num)可以这样使用,它返回的是0至num-1的一个随机数. 可改用C++下的rand函数来实现.      1.C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX…
C++中rand()函数的用法   2011-12-30 11:03:59|  分类: C / C++|举报|字号 订阅 一.C++中不能使用random()函数 random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过.但在C语言中int random(num)可以这样使用,它返回的是0至num-1的一个随机数. 可改用C++下的rand函数来实现. 1.C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数. RAND_MAX必须至少为…
1.生成随机数发生器种子的函数 srand(). mt_srand() 区别:mt_srand()  比 srand() 更好的生成随机数发生器种子 定义: void srand([int $seed]) void mt_srand([int $seed]) 用 seed 来给随机数发生器播种. 没有设定 seed 参数时,会被设为随时数. 参数: seed 可选的种子值 返回值: 没有 #example echo microtime(); => 0.22750900 1534295333 fu…
随机数在统计理论中占有很重要的地位,很多应用都需要用到他,系统自带的rand()函数产生的是伪随机数,所以该如何真正的随机数呢? 1.c语言中的时间函数 关于c语言我查到的两个比较好的博文是:http://blog.sina.com.cn/s/blog_686d0fb001012o3x.html http://blog.csdn.net/wangluojisuan/article/details/7045592/ 里面写的很是详细,但是我想通过一个例子来说明感觉比较好.常用的也就这几个. ];…