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

相关推荐

  • 引流,引流,大道至简的精确粉

    大家好,我是芯创。一个混迹在互联网上捞金的人,常来看看,每天都进步一点点,未来十年与你同行。

    投稿 2022年1月13日
  • 公猪和母猪如何配种?公猪多久配种一次?配种的注意事项和最佳时间

    农场中的公猪和母猪的配种过程是一个重要的繁衍环节,关系到农场的养殖效率和经济收益。合理安排公猪和母猪的配种,可以提高种猪的产仔率和保育率,从而为农场带来更多的收益。 公猪和母猪的配种过程 公猪和母猪的配种…

    投稿 2024年5月9日
  • 微信转账1万元扣多少手续费

    微信转账1万元扣多少手续费 ============================ ## 一、微信转账的概念 微信转账是指用户通过微信客户端将自己的资金转移到其他微信用户的账户中,以实现资金转移的功能。微信转账是微信支付的一项服务,…

    投稿 2023年7月17日
  • 电信宽带密码忘记了怎么办?查看自己家的宽带账号和密码

    采用光猫拨号 1、首先用网线将电脑连接光猫。 在浏览器登录管理员地址及192.168.1.1 2、输入超级账号及密码: 移动 账号:CMCCAdmin 密码:aDm8H%MdA 联通 账号:CUAdmin 密码:CUAdmin 不同型号不通用,根据光猫型号…

    2021年11月8日
  • 策略游戏手游排行榜?十大策略游戏排行榜

    游戏市场竞争激烈,各种题材的游戏不计其数,每年还都有着新游戏不断涌现。如果一款游戏没有着极具自我特色的创新玩法的话,显然是无法吸引到玩家的,无论是什么题材的游戏都遵循这个原理,策略手游也不例外。接下来…

    2021年11月8日
  • 显卡怎么拆下来?显卡在哪里

    我们在购买电脑的时候,要注意电脑硬件的查看,比如说显卡,就会是接在电脑主板上,主要将电脑的数字信号转换成模拟信号让显示器显示出来,同时显卡还具有图像处理能力,可协助CPU工作,提高整体的运行速度。 1、 右…

    2022年12月9日
  • 二胡怎么学

    二胡是中国传统乐器,它有着悠久的历史,深受广大民众的喜爱。学习二胡,不仅可以提高自己的音乐素养,还可以放松心情,让自己在繁忙的生活中放松一下。那么,学习二胡需要什么? 首先,学习二胡需要一把合适的二胡…

    投稿 2023年4月19日
  • 卡塔尔国名

    卡塔尔:一个令人惊叹的国家 卡塔尔是一个令人惊叹的国家,它位于中东地区,拥有许多独特的地理特征和历史文化,使它成为一个充满活力的旅游胜地。本文将介绍卡塔尔的地理位置、历史文化、旅游景点和未来发展前景。 …

    投稿 2023年8月15日
  • 贝因美孕妇奶粉价格(贝因美奶粉官网旗舰店)

    贝因美孕妇奶粉价格(贝因美奶粉官网旗舰店)  贝因美曾经是国产奶粉品牌中的NO.1,国产奶粉的领头羊,各方面表现都不逊

    2022年1月18日
  • 苹果手机怎么连接电脑?iphone连接电脑没反应

    你有没有遇到过苹果设备连接电脑后无法识别的情况? 有时我们需要将iPhone端数据导入电脑,使用USB数据线连接手机和电脑后,却在电脑端无法找到识别的设备。 甚至打开其它软件也无法识别到已连接的设备,这可能是哪…

    2022年11月17日