• C++随机函数 rand()


    使用 rand 函数可以获取

    随机数大小是在0到RAND_MAX,值为2147483647,它是在stdlib中定义的,如果我们希望在某个范围内,可以使用 % 结合 / 来实现

    但是不难发现,这里获得的随机数是唯一确定的,而不是变化的。所以,如果我们希望获得变化的随机数,可以使用下面的方法。

    因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,
    所以有一定的范围里可看成是随机的,rand()会返回一随机数值,范围在0至RAND_MAX+间。在调用此函数产生随机数前,
    必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。
    rand()产生的是假随机数字,每次执行时是相同的。若要不同,以不同的值来初始化它.初始化的函数就是srand()

    这里,我们需要引入ctime库,其中time(0)是获取从1970年开始的时间(单位:s),然后再获取rand(),这时的rand就是随机变化得了

     但这里获取的值是不确定的,而如果我们希望获得在某一范围内的值呢

     

  • 相关阅读:
    [SDOI2015] 序列统计
    [BZOJ3514] Codechef MARCH14 GERALD07加强版
    [CF1082E] Increasing Frequency
    [CF1093G] Multidimensional Queries
    [HNOI2013] 切糕
    [HEOI2017] 寿司餐厅 + 最大权闭合子图的总结
    [BZOJ3771] Triple
    [HEOI2016] 字符串
    [总结] 后缀数组学习笔记
    [Luogu 3613] 睡觉困难综合征
  • 原文地址:https://www.cnblogs.com/fangzm/p/14122091.html
Copyright © 2020-2023  润新知