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

相关推荐

  • 智能电视盒子怎么用?智能电视盒软件

    不少购买了智能电视的用户都好奇,智能电视可以看电视直播吗?虽然智能电视上拥有丰富的点播内容,但是该怎么解决直播需求呢?今天我们就来盘点下电视直播APP哪个好,并为大家提供一份2022最新电视直播软件推荐攻略…

    2022年10月24日
  • windows7是什么操作系统

    Windows7是什么操作系统 ======================== Windows7是微软公司推出的一款操作系统,它是Windows Vista的后续版本,拥有更快的性能、更安全的安全性、更好的用户体验。 一、Windows7的特点 -----------------…

    投稿 2023年8月17日
  • 吃糖造成的危害有多大(解密经常吃糖对身体皮肤的危害)

    经常有人说,生活不如意的时候吃点甜的就好了,嘴里甜就不会觉得心里那么苦了。的确,甜食在一定程度上能够给人带来极大的幸福感。 糖果、奶茶、蛋糕和冰淇淋等甜食,总是让人欲罢不能,但在你大快朵颐的同时,这些…

    2021年10月30日
  • mtu值怎么设置?查看mtu值

    客户那边需要通过国标协议将监控视频汇聚至指定的的应用服务器中,在配置过程中遇到一个很难缠的问题,监控设备在系统已经上线了,但是无法获取视频通道。折腾很久没能解决,找我帮忙排查问题。 问题描述: PING 应…

    投稿 2022年10月15日
  • app图标不见了怎么恢复 3步找回隐藏app图标

    手机上的应用程序图标是手机用户与手机应用程序交互的入口,但有时候这些图标可能会莫名其妙地消失,让用户感到茫然无助。无论是因为系统升级、手机设置错误还是其他原因,找回这些丢失的图标都成为许多用户关注的热点…

    投稿 2024年5月27日
  • 鼠标垫材质?鼠标垫硬垫软垫

    俗话说,好马配好鞍。一款好的游戏鼠往往也需要与之匹配的鼠标垫来发挥更好的性能,而适合自己的鼠标垫往往也能让我们的操作更顺畅,更舒适。但市面上的鼠标垫那么多,我们往往不知道该如何选择,买来了之后保养也是…

    2021年11月7日
  • it网络(互联网IT)

    IT高管专注于满足客户期望 39%的IT高管将不断变化的客户期望和行为作为他们面临的最大外部挑战之一,表明在CIO中新客户的中心地位日益提高。 大型企业的IT主管尤其意识到在新时代开展业务所带来的挑战,并将其视为最…

    投稿 2022年10月22日
  • 什么水果降火?哪些水果降火最有效

    随着秋季的到来气温的下降,让空气逐渐变得比较干燥,而在干燥的同时人的肝脏很容易上火而引发肝火旺盛,肝火旺盛的出现很容易影响到患者的身体以及生活,因此在秋季可以多吃这几种瓜果蔬菜,来帮助降低肝脏火气,防…

    2022年12月8日
  • 微信网络设置在哪里打开?微信网络设置

    我们在使用微信的时候,不知道大家有没遇到过接收消息延迟,或者自动断开网络无法跟好友聊天发消息的情况!其实导致这些问题的原因一共有4个,这一期我就教大家来彻底解决这些问题!   一、锁定微信防止清理内…

    2022年11月20日
  • 批注是什么意思?语文的批注怎么写

    给文章中画线句子做批注,这样的题小学生不知如何下手,没有思路怎么办?今天咱们讲解一下。   一、批注的概念 批注: 常用的读书方法。阅读的时候把读书感想、疑难问题,随手旁批等写在书中的空白地方,以帮助…

    2022年10月13日