鱼C论坛

 找回密码
 立即注册
查看: 4156|回复: 5

rand()函数产生随机数的原理是什么? 生成的伪随机数它的特点和缺点是什么?

[复制链接]
发表于 2014-4-23 20:43:13 | 显示全部楼层 |阅读模式
8鱼币
请不要直接百度哈,能够通俗易懂的最好了。

最佳答案

查看完整内容

这是我做的一个笔记,应该可以看的懂吧,还有个例子,我有很详细的注释,不明白可以继续问 rand, srand原型:void srand(unsigned seed);用法: srand和rand()配合使用产生伪随机数序列。rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。 srand(unsignedseed)通过参数seed改变系统提供 ...
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-4-23 20:43:14 | 显示全部楼层
本帖最后由 梦醒尸还魂↘___ 于 2014-4-26 15:31 编辑

这是我做的一个笔记,应该可以看的懂吧,还有个例子,我有很详细的注释,不明白可以继续问

rand, srand
原型:
void srand(unsigned seed);
用法:
    srand和rand()配合使用产生伪随机数序列。rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。
     srand(unsignedseed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列
  1. #include<iostream>
  2. #include<iomanip>
  3. #include<ctime>              //time(NULL)的头文件
  4. #include<cstdlib>           //产生伪随机数函数头文件

  5. usingnamespace std;
  6. constint TestNum = 6000;

  7. inline int RandI (int N)                 //函数rand()可产生0到RAND_MAX的整数(RAND_MAX=0xfffu(32767)
  8. {         
  9.         return rand()%N+1;             //获取0-N-1之间的随机整数可采用rand()%N,
  10. }                                                   //  此处N=6,因为骰子数值是0~6,
  11.                                                    //  inline double Rand(){returndouble (rand())/RAND_MAX;}产生0~1之间
  12. voidTestDice()                          //     的随机浮点数
  13. {
  14.         int Freq[6]={0}, Face, i;
  15.                                                  //seed伪随机数种子,由于time(NULL)是unsigned int 类型,所以要用
  16.         srand(int(time(NULL)));            //int(time(NULL))强行转换为int类型,time(0)程序启动的时候读
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-4-23 22:38:46 | 显示全部楼层

层主是来考我的英语功底么:cry  
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-4-24 09:45:46 | 显示全部楼层
优点是。。还算随机的。。
确定是。。可预测。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-4-25 18:14:46 | 显示全部楼层
这个啊 可以预测下一个数字是什么
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-9 18:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表