鱼C论坛

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

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

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

最佳答案

查看完整内容

这是我做的一个笔记,应该可以看的懂吧,还有个例子,我有很详细的注释,不明白可以继续问 rand, srand原型:void srand(unsigned seed);用法: srand和rand()配合使用产生伪随机数序列。rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。 srand(unsignedseed)通过参数seed改变系统提供 ...
想知道小甲鱼最近在做啥?请访问 -> 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函数提供不同的种子值,进而产生不同的随机数序列
#include<iostream>
#include<iomanip>
#include<ctime>              //time(NULL)的头文件
#include<cstdlib>           //产生伪随机数函数头文件

usingnamespace std;
constint TestNum = 6000;

inline int RandI (int N)                 //函数rand()可产生0到RAND_MAX的整数(RAND_MAX=0xfffu(32767)
{         
        return rand()%N+1;             //获取0-N-1之间的随机整数可采用rand()%N,
}                                                   //  此处N=6,因为骰子数值是0~6,
                                                   //  inline double Rand(){returndouble (rand())/RAND_MAX;}产生0~1之间
voidTestDice()                          //     的随机浮点数
{
        int Freq[6]={0}, Face, i;
                                                 //seed伪随机数种子,由于time(NULL)是unsigned int 类型,所以要用
        srand(int(time(NULL)));            //int(time(NULL))强行转换为int类型,time(0)程序启动的时候读 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

层主是来考我的英语功底么:cry  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-24 09:45:46 | 显示全部楼层
优点是。。还算随机的。。
确定是。。可预测。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-25 18:14:46 | 显示全部楼层
这个啊 可以预测下一个数字是什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 10:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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