c生成随机数代码(const类型变量)

  Matlab内置了五种随机函数:  rand:生成在(0,1)之间均匀分布的随机数ra

  Matlab内置了五种随机函数:

  rand:生成在(0, 1)之间均匀分布的随机数randn:生成均值为0,方差为1的标准正态分布的随机数randi(imax):生成在[1, imax] 均匀分布的伪随机整数randsrc(m, n, [alphabet; prob]):生成一个m-by-n的矩阵,矩阵的元素从alphabet里抽取,alphabet每个元素被抽中的概率由prob指定。randperm(n):生成一个1到n的随机顺序。

  而C++中要生成随机数,通常需要使用rand()和srand()两个函数。

  rand()函数返回一个 0 ~ RAND_MAX 之间的整数。RAND_MAX 是一个定义在 <cstdlib> 的常数。

  该函数返回的数字实际上是用算法生成的,实际上并不是随机的。它是根据种子生成的,根据不同的种子产生不同的随机序列。系统默认的种子是1,所以说每次使用的随机序列都是固定的。

  比如下面这段代码:

  运行结果如下图所示,可以看出,每次运行的结果,x 的值都是固定的。

  C++生成随机数rand/srand函数C++生成随机数rand/srand函数

要想使每次运行时变量 x 的值都不同,就必须使它的种子随机,这时就需要用到srand函数。

  srand()函数就是用来设置rand()函数的种子的。根据不同的输入参数可以产生不同的种子。通常使用time函数作为srand函数的输入参数。

  time函数会返回1970年1月1日至今所经历的时间(以秒为单位)。

  在使用 rand() 函数之前,srand() 函数要先被调用,并且在整个程序中只需被调用一次。代码如下:

  运行结果如下:

  C++生成随机数rand/srand函数C++生成随机数rand/srand函数注意:time函数会返回的是1970年1月1日至今所经历的时间(以秒为单位),若你手速足够快,在1s内能够执行多次,即time函数返回的值相同,x 的值也会相同。

  C++生成随机数rand/srand函数C++生成随机数rand/srand函数在实际应用中,通常需要要将随机数的范围限制在 1 到某个值 max 之间,则可以使用以下公式:

  求余数运算符(%)可以获得整除之后的余数。如当 max 为 6 时,余数将是 0 ? 5,给余数加 1 即可转换为 1 ~ 6。

  运行结果如下:

  C++生成随机数rand/srand函数C++生成随机数rand/srand函数PS:计算机是一个可预测的系统,因此不可能通过算法来产生真正的随机数。在计算机中,所谓的随机数通常都是伪随机数,即通过随机算法计算出来的,可以被近似看作随机数的数值。

  常见的随机数算法有线性同余法(Linear Congruential Generator)、梅森旋转法(Mersenne twister)等。

原创文章,作者:分享大师,如若转载,请注明出处:https://ziliaobaba.com/14694.html

(0)
分享大师分享大师
上一篇 2022年1月15日 03:01
下一篇 2022年1月15日 05:09

相关推荐

  • 有深意的英文单词(有深意的英文单词)

    学习,是一件有温度的事儿求关注作者|四十岁的安静英文单词是英语语言里能有效表述意义的最小组成部分。有了词,英语这门语言才开始有了生命。今天feel哥就拿出压箱底的宝藏跟大家分享,撸一下那些最美丽的英文单词。先上几张有feel的。Oblivion:遗忘,忘却。英文意境的解释:一种不知道身边发生的事情

    2021年12月30日
  • 索尼爱立信智能手机(最早爱立信手机图片)

    智能手机的发展,除了如今的安卓机器人,其实塞班时代也诞生过众多经典机型,尤其是主打拍摄的超级手机,几乎成为一个时代的记忆。本期,小编与大家分享一款来自索尼爱立信旗下的u1手机,它采用了极为少见的“双c”造…

    2022年11月17日
  • 若羌县景点

    若羌县:西北边疆的瑰宝 一、若羌县简介 若羌县位于新疆西北边疆,是新疆自治区第三大县,也是新疆最大的蒙古族自治县,面积约为26000平方公里,总人口约为60万,其中蒙古族占90%以上。若羌县以其独特的自然风光和历…

    投稿 2023年7月27日
  • 丹霞山在哪里属于哪个省?丹霞是哪个省的城市

    世界自然遗产、世界地质公园、丹霞地貌命名地——中国-丹霞山。丹霞山位于广东韶关市仁化县,广东省四大名山之一,总面积292平方公里,是广东省面积最大的风景区,以丹霞地貌景观为主的风景区。由680多顶平、身陡,麓…

    2022年12月13日
  • 如何做好作业的加减法?加减乘除做好工作

    时代是出卷人,我们是答卷人。答好“双减”题,必须坚持源头治理、系统治理、综合治理和依法治理,统筹好校内和校外两个层面,双向发力,整体推进。既要敢于做减法,也要善于做加法,科学合理的加上去,不科学不合理的…

    投稿 2021年11月18日
  • 什么是摇滚乐?如何定义摇滚乐

    摇滚是音乐。摇滚是一个很广的范畴,其中包含了许许多多的风格,像是有朋克、金属等等。 首先,我们需要简单的来认识一下什么是摇滚乐。 摇滚乐,英文全称为Rock' N' Roll',兴起于20世纪50年代中期,主要受到节奏布…

    2022年11月24日
  • 2021年心理考试报名条件?心理咨询师报考条件

    2021年最新心理咨询师报名要求。生活在进步,时代在发展,人们的步伐也在逐渐加快。在许多一线二线城市经常可以看到许多需要心理治疗的心理病人。心理咨询师这一职业就变得不可或缺了。而正是因为这样,报考心理咨询…

    2021年11月5日
  • 关羽被谁杀死的 死在哪?关羽被谁杀死的

    如果不是深仇大恨,在战场上是不会轻易杀掉俘虏的,这点在古代战场上表现得尤为明显。可凡事都有例外,武圣关羽被俘虏后,立即就被杀掉了,这是为何? 有人说,这是孙权和关羽之间的仇恨太大,这是站不住脚的。大家…

    2022年11月14日
  • 业余时间干点什么副业?干点啥副业挣钱呢

    互联网的兴起,让社会掀起了一波“副业潮”,身边的人都在悄咪咪开启了副业,靠副业实现了双份收入,日子过得风生水起。 我自己也是靠副业实现月入过万,并且成功逆袭转行的。 我觉得在这个时代里,对于不满足自身岗位…

    2021年11月12日
  • 网站后台管理模板是什么?网站管理主题推荐

    Charisma 是基于 Twitter Bootstrap 制作的响应式网站管理后台模板,包含9套漂亮的主题。   主要特性:  9套不同的主题  完全响应式,针对了移动设备和触摸设备优化  基于bootstrap,同时也支持jQuery UI  HTML…

    2023年1月15日