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

相关推荐

  • 手办是什么?何为手办

    现在动漫产业的崛起,“二次元”文化升温,作为动漫周边的一系列物品也是逐渐占据了一部分市场。那么,手办是什么,我们是如何看待手办的? 1.大多数人眼中的手办 其实,手办是动漫周边的一…

    2022年11月8日
  • 苹果8上市时间?苹果

    iPhone8系列手机是苹果公司在2017年打造的手机,时隔今天2021年已经4年时间了,这款搭载6核心的A11 Bionic处理器,也让iPhone8系列的性能有着比较不错的成绩…

    2021年11月11日
  • 苹果耳机怎么改名字?苹果蓝牙耳机重命名

    通过使用连接的iPhone,iPad或Mac更改名称,使AirPods成为您自己的AirPods。如何更改您的AirPods名称?小编给大家带来了更改您的AirPods名称教程,快…

    2021年11月15日
  • 怎样提高英语成绩?提高英语成绩的方法措施

    一、听力一定要精听精练 听力如何考高分呢?建议大家可以试试精听精练听力三步法! 第1步 在听第一遍之前,先抓紧时间浏览问题和选项,然后再带着问题和选项听一遍录音,快速选择出答案,期…

    2022年12月6日
  • 墨绿色配什么颜色好看?墨绿色的高级配色

    在秋冬季节深色系都非常的受欢迎,那么墨绿色和什么颜色最搭?墨绿色配什么颜色好看?墨绿色它不像其它的颜色,它很有质感的哦,看上去非常舒服,颜色很淡雅,它可以搭配浅色的衣服,下面来看下…

    2022年11月29日
  • 空调移机步骤和方法(空调移机方法)

    一、移机操作步骤 在空调器安装中,有很多时候是移拆旧机异地安装。空调器的移机安装与新机第一次安装, 在步骤上略有不同,其步骤如下: 1. 开机检查空调器制冷、制热、送风等运行状态,…

    2022年12月12日
  • apple自动扣费怎么取消?苹果机的自动扣款如何取消

    苹果手机自动续费怎么关闭?苹果手机系统属于一个封闭的系统,很多操作设置和安卓手机不同,例如一些会员自动续费服务,不知道如何取消自动订阅自动续费,下面就和小编一起来看看吧! 苹果关闭…

    2021年11月13日
  • 炒饭怎么做好吃方法很简单?炒饭的做法最正宗的做法

    1、腊肠蛋炒饭 腊肠蛋炒饭 食材:剩米饭、鸡蛋2个、腊肠3根、蔬菜粒、生抽、老抽、蚝油。 做法: (1)剩米饭、2勺生抽、半勺老抽、1勺蚝油拌匀备用; (2)蔬菜粒焯水捞出,鸡蛋煎…

    2022年12月9日
  • 白衣服发黄怎么洗可以变白?发黄的白衣怎么恢复亮白

    夏天快到了,白色基础款t恤衬衫是夏日必备日常款。但是白色衣服有一个令人头痛的问题就是容易发黄,怎么洗都洗不回来,只能扔掉买新的。接下来兔菇凉教你几招,让你的白衣服能够像新买的一样白…

    2022年10月2日
  • 菜刀品牌排行榜前十名?全球最顶级厨刀品牌

    全球十大知名刀具品牌排行榜 1、德国(MAPAL)玛帕Die MAPAL Dr.Kress KG是一家中型的家族企业,七十年来一直在精密刀具市场占据领先地位。秉承着创新的工艺解决方…

    2021年11月8日