srand()、random()生成伪随机数的问题

poplv poplv 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
1.srand()、random()的实现在不同的开发环境中是不是不同?有没有srand()、random()在VC中的实现代码?

2.为什么要分为这两个部分?直接用一个函数生成随机数不行吗?比如生成随机种子不就是随机数吗?

3.random()的算法是一定的吧,如果这样种子一定生成的数就一定,对吧?既然输入确定,输出也确定的话,这样对产生随机数有什么意义呢?为什么不在random()中加入随机因素呢?

4.系统提供的函数srand()、random()是不是很简单?安全性如何?有无必要自己实现?有没有安全的方法?

5.产生100-300之间的随机数比产生100-200之间的随机数更安全,是不是这样?其安全性与哪些因素有关?

6.怎样对一种生成随机数的方法进行评估?有文章提到:“以时间为种子,生成100万个经过统计,重复的机率很大”,对结果的统计是怎么实现的?有无源代码?

问题比较多,回答的时候最好写上问题的序号,谢谢大家!
...全文

相关推荐

随机选号随机种子应用

随机选号随机种子应用 vc++ 生成随机数的线程应用 生成随机数

huhahahu2000

C++中随机函数 rand() 和 srand() 的用法

一、rand()   函数名:   rand   功   能:   随机数发生器   用   法:   int rand(void);   所在头文件: stdlib.h   函数说明 :   · rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定的范围里可看成是随机的。   · rand()返回一随机数值的范围在0至RAND_MAX 间。RAND_MAX的范围少是在32767之间(int)。用 unsigned int 双字节是65535,四字节是4294967295的整数范围。0~RAND_MAX每个数字被选中的机率是相同的。   · 用户

weixin_38639237

有关C++中随机函数rand() 和srand() 的用法详解

下面小编就为大家带来一篇有关C++中随机函数rand() 和srand() 的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

weixin_38605144

C++ 中随机函数random函数的使用方法

主要介绍了C++ 中随机函数random函数的使用方法的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下

weixin_38590738

生成随机数rand函数的用法详解

函数rand()是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用 srand()会导致相同的随机数序列被生成。srand((unsigned)time(NULL))则使用系统定时/计数器的值做为随机种子。每个种子对应一组根据算法预先生成的随机数,所以,在相同的平台环境下,不同时间产生的随机数会是不同的,相应的,若将srand(unsigned)time(NULL)改为srand(TP)(TP为任一常量),则无论何时运行、运行多少次得到的“随机数”都

weixin_38560797
评论 7
收藏 已收藏
分享
返回顶部
poplv
C++ 语言 65,214 成员 250,514 内容