精华内容
下载资源
问答
  • 随机数函数

    2019-02-10 15:45:39
    随机数函数 我们知道rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数(我们可以称它为种子)为基准以某个递推公式推算出来的一系列数,当这系列数很大的时候,就符合...

    随机数函数


    我们知道rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,是根据一个数(我们可以称它为种子)为基准以某个递推公式推算出来的一系列数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数。周期为RAND_MAX(2147483647),当你取得2147483647个随机数后它们又重复出现了。当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统。

    • rand()
    1. 功能:随机数发生器
    2. 用法:int rand(void)
    3. 所在头文件: stdlib.h
    4. rand()的内部实现是用线性同余法做的
    5. rand()返回一随机数值的范围在0至RAND_MAX 间。0~RAND_MAX每个数字被选中的机率是相同的。
    6. 用户未设定随机数种子时,系统默认的随机数种子为1。
    7. rand()产生的是伪随机数字,每次执行时是相同的;若要不同,用函数srand()初始化它。
    • srand()
    1. 功能:初始化随机数发生器
    2. 用法: void srand(unsigned int seed)
    3. 所在头文件: stdlib.h
    4. srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。
    5. 使用当前时钟作为随机数种子
    6. 给srand()提供一个种子,它是一个unsigned int类型;

    rand()产生的随机数在每次运行的时候都是与上一次相同的。若要不同,用函数srand()初始化它。可以利用srand((unsigned int)(time(NULL))的方法,产生不同的随机数种子,因为每一次运行程序的时间是不同的。

    0~RAND_MAX之间的随机数程序

    #include <iostream> 
    #include <stdlib.h> 
    #include <time.h>  
    using namespace std;  
    int main() 
    {  
    srand((unsigned)time(NULL));  //设定以当前时间为随机数种子
    for(int i = 0; i < 10;i++ )  
            cout << rand() << '\t';  
    cout << endl;  
    return 0; 
    }
    
    • 产生一定范围随机数的通用表示公式
    1. 通用公式:a + rand() % n;其中的a是起始值,n是整数的范围。
    2. 要取得0~1之间的浮点数,可以使用rand() / double(RAND_MAX)。
    展开全文
  • C语言之随机数函数( rand() )的使用方法

    万次阅读 多人点赞 2018-04-25 19:49:18
    在程序设计中,难免会使用到随机值函数,其原理与语法大多类似,接下来以C语言为例介绍其随机值函数 rand() 用法。 原理 引用百度百科,首先,需要包含头文件: #include &amp;lt;stdlib.h&amp;gt; ...

    文章出自个人博客https://knightyun.github.io/2018/04/25/c-rand-number,转载请申明。


    在程序设计中,难免会使用到随机值函数,其原理与语法大多类似,接下来以C语言为例介绍其随机值函数 rand() 用法。

    原理

    引用百度百科,首先,需要包含头文件:

    #include <stdlib.h>
    

    rand()函数是按指定的顺序来产生整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是真正意义上的随机,有时候也叫伪随机数,使用 rand() 生成随机数之前需要用随机发生器的初始化函数 srand(unsigned seed)(也位于 stdlib.h 中) 进行伪随机数序列初始化,seed 又叫随机种子,通俗讲就是,如果每次提供的 seed 是一样的话,最后每一轮生成的几个随机值也都是一样的,因此叫伪随机数,所以需要每次提供不同的 seed 达到完全的随机,我们通常用时间函数 time(NULL) 作为 seed ,因为时间值每秒都不同,这个函数需要包含以下头文件:

    #include <time.h>
    

    理论太泛,下面用例子分析理解。

    举例分析

    先来理解以下伪随机数,编译以下代码:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main()
    {
        srand(1);
        int i;
        for (i = 0; i < 10; i++)
        printf("%d, ", rand()%11); 
    } 

    运行结果

    8, 9, 9, 1, 7, 5, 5, 10, 1, 0,
    

    然后无论运行多少次,结果都依然是以上随机数,不会改变,因为每次设置的种子 seed 都是 1

    但是假如把 seed 换成 time(NULL),每次就不一样了,如下:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main()
    {
        srand(time(NULL));
        int i;
        for (i = 0; i < 10; i++)
        printf("%d, ", rand()%11); 
    } 

    结果是就变了,并且每次都不一样:

    6, 3, 4, 5, 5, 9, 8, 10, 10, 4,
    6, 4, 2, 4, 3, 2, 5, 1, 2, 9,
    

    这里的 time(NULL) 的结果是一个类似于 1524655706 的数字,并且每秒都在递增 1,也就达成了 srand() 的 seed 不断变化的目的,不断生成新的随机数。

    拓展

    这里注意一下例子中函数 rand() 的用法,函数括号内不需要加参数,如果直接调用 rand() 的话会生成下面这样的数:

    17163, 2663, 24810, 4875, 26975, 14119, 22193, 11233, 26009, 20105,
    

    所以我们想要生成指定范围的随机数的话就需要使用到求余运算符 %,这里有个规律:例如我们需要 0–10的随机数时,就写成 rand()%11,0–100就写成 rand()%101,就是运算符后的数字需要比需求范围极值大 1,当然这也是取余运算的原理。


    技术文章推送

    手机、电脑实用软件分享



    展开全文
  • 随机数函数大全

    千次阅读 2015-11-06 16:45:23
    每种编程语言一般都有生成随机数函数(也称为方法),为了便于使用,文章总结常用编程语言的随机数函数,主要包括 C#、C++、C语言、PHP、Java、Javascript、vbscript、VB、Delphi、fortran、pascal、perl、prolog、...

        每种编程语言一般都有生成随机数函数(也称为方法),为了便于使用,文章总结常用编程语言的随机数函数,主要包括 C#、C++、C语言、PHP、Java、Javascript、vbscript、VB、Delphi、fortran、pascal、perl、prolog、python、ruby、MsSql、MySql、Oracle。

    一、C#生成随机数函数

      1、函数:Random.Next()

        2、示例:

    <span style="font-size:18px;">Random ran = new Random();
    int n = ran.Next(80);//生成1到80的随机数
    int n1 = ran.Next(80, 1000);//生成80到1000的随机数</span>

     二、C++生成随机数函数

      1、函数:int rand()

      设置随机数种子:void srand(unsigned seed);

      2、说明:

      rand()函数生成的随机数严格意义上来说只能算是伪随机数,它生成随机数时需要指定一个种子。

      3、示例:

    <span style="font-size:18px;">#include <cstdlib>   
    #include <ctime>
    int n;srand(time(0));//设置种子,time(0)返回当前时间
     n = rand() % 100 + 1;//生成1到100的随机数</span>

    三、C语言生成随机数函数

      1、函数:void srand(int n)

      2、说明:

      要为 srand()传递一个无符号类型的参数,作为 rand() 的随机数种子。 

      3、示例:

    <span style="font-size:18px;">srand((unsigned)time(NULL));
    rand()%100 + 1; //生成1到100的随机数</span>

    四、PHP生成随机数函数

      1、函数:rand(min, max)

      2、说明:

      min 为上限,max 为上限,它们都是可选的。

      3、示例:

    <span style="font-size:18px;">rand();//生成任意随机数
    rand(1, 100);//生成1到100的随机数</span>

     五、Java生成随机数函数

      1、函数:Random.nextInt()

      2、示例:

      1)例一

    <span style="font-size:18px;">Random ran = new Random();
     ran.nextInt(100);//生成100以内的随机数</span>

     2)例二

     

    <span style="font-size:18px;"> int GetRandom(int min, int max)
      {
        Random ran = new Random();
        return ran.nextInt(max - min + 1) + min;
      }</span>

      调用方法:

    <span style="font-size:18px;">GetRandom(100, 1000);//生成100到1000的随机数</span>

    六、Javascript生成随机数函数

      1、函数:Math.Random()

      Math.floor(Math.Random() * (上限 - 下限 + 1) + 下限);//生成指定范围的随机数

      2、说明:

      Random 只能生成 0 到 1 之间的浮点数(小数)。

      3、示例:

    <span style="font-size:18px;"> Math.floor(Math.Random() * 200); //生成0到200的随机数
     Math.floor(Math.Random() * 200 + 1); //生成1到200的随机数
     Math.floor(Math.Random() * (200 - 100 + 1) + 100);//生成100到200的随机数</span>

    七、Vbscript生成随机数函数

      1、函数:Rnd[(number)]

      int((上限 - 下限 + 1) * Rnd + 下限);//生成指定范围的随机数

      2、说明:

      Ran 只能生成 0 到 1 之间的浮点数(小数),number 为任意有效数值。

      3、示例:

    <span style="font-size:18px;"> int((100 - 10 + 1) * Rnd + 10); //生成10到100的随机数
    </span>

    八、VB.Net生成随机数函数

      1、函数:Random.next()

      2、示例:

    <span style="font-size:18px;">Dim ran = New System.Random()
    ran.next(100); //生成0到100的随机数
    ran.next(100, 1000); //生成100到1000的随机数</span>

    九、Delphi生成随机数函数

      1、函数:Random()

      下限 + Random(上限 - 下限 + 1);//生成指定范围的随机数

        2、示例:

      1)例一

     

    <span style="font-size:18px;">Randomize;
    Random(100);//生成100以内的随机数</span>

      2)例二

    <span style="font-size:18px;">Randomize;
    10 + Random(100 - 10 + 1);//生成10到100的随机数</span>

    十、fortran生成随机数函数

      1、函数:random_number(x) 和 random_seed()

      2、说明

      random_number(x) 生成 0 到 1 之间的浮点数(小数)随机数,x 通常为向量,random_seed() 取系统时间作为种子。

      3、示例:

     

    <span style="font-size:18px;"> real :: x
     call random_seed ()
     call random_number (x)</span>

    十一、pascal生成随机数函数

      1、函数:Random(N)

      2、说明

      Random() 生成 0 到 1 之间的随机数,Random(N) 生成 [0,N)之间的随机数,N 为任意有效整数。

      3、示例:

    <span style="font-size:18px;"> randomize;
     ran: = trunc(Random * 90) + 10;//生成100以内的随机数</span>

    十二、perl生成随机数函数

      1、函数:rand($interger) 和 srand()

      2、说明

      rand() 生成 0 到 1 之间的随机数,Random($interger) 生成 0 到 $interger 之间的随机数,$interger 为任意有效整数。

      3、示例: 

    <span style="font-size:18px;">srand;
    int(rand(100)) + 1; //生成1到100的随机数</span>

    十三、python生成随机数函数

      1、函数:

      range(start, stop, step):返回 [start, stop) 之间的所有整数,step 为步长,其值不能为0;

      randint(start, stop):生成 start 和 stop 之间的随机整数;

      randrange(start, stop, step):跟 range()相似;

      uniform(start, stop):生成 [start, stop) 之间的浮点数随机数;

      Random():跟 uniform() 相似,但下限恒等于0.0,上限恒等于1.0;

      choice():随机返回给定序列中的一个元素。

     

      2、示例:

      range(4) #[1, 2, 3]
      range(1, 4, 2) #[1, 3]
      import Random
      Random.randint(10, 100)
      Random.randrange(10, 100)


    十四、ruby生成随机数函数

      1、函数:rand(n)

      2、说明

      rand() 生成 0 到 1 之间的随机数;若 n 为整数,则生成 0 到 n 之间的随机数;若 n 为十六进制,则生成十六进制随机数。

      3、示例:

       puts rand #生成 0 到 1 之间的随机数
      rand(100) #生成 0 到 100 之间的随机数
      puts rand(0x5b) #生成十六进制的随机数

    十五、MsSql 和 MySql 生成随机数函数

      1、函数:rand()

      2、说明

      rand() 生成 0 到 1 之间的随机数,生成随机数跟 Javascript 很相似,可以参考它。

      3、示例:

     

     floor(rand() * 100)--生成 0 到 99 之间的随机数
      floor(rand() * 100 + 1)--生成 1 到 100 之间的随机数

    十六、Oracle生成随机数函数

      1、函数:DBMS_RANDOM.VALUE(low, high)

      2、说明

      DBMS_RANDOM.VALUE() 生成 (0,1) 之间的随机数,精度 38 位;DBMS_RANDOM.VALUE(low, high) 生成 [low,high) 之间的随机数。

      3、示例:

    DBMS_RANDOM.VALUE()--生成 0 到 1 之间的随机数
    DBMS_RANDOM.VALUE(10, 100)--生成 10 到 100 之间的随机数
    展开全文
  • c语言产生随机数函数

    千次阅读 多人点赞 2020-03-21 15:38:17
    c语言产生随机数函数 rand()函数和srand()函数 在头文件 stdlib.h中 rand()函数返回一个从0~32767之间的随机整数,为了生成区间 [m,n] 之间的整数,可以用公式 rand()%(n-m+1)+m。 例区间:[100,200],随机整数的...

    c语言产生随机数函数

    rand()函数和srand()函数 在头文件 stdlib.h
    rand()函数返回一个从0~32767之间的随机整数,为了生成区间 [m,n] 之间的整数,可以用公式 rand()%(n-m+1)+m
    例区间:[100,200],随机整数的计算方法为: rand()%(200-100+1)+100 即rand()%101+100;

    rand()函数是以种子(seed)为基准,以某个递推公式推算出来的一系列数(随机序列),但不是真正意义上的随机整数。
    当计算机开机后,这个种子的值就已经确认了,关机重启后种子的值也不会变。
    可以这样认为; 一个种子对应范围内的一组随机数,种子改变随机数改变。
    例:
    在这里插入图片描述
    sand()函数
    函数原型: void srand(int a)
    功能:初始化随机种子产生器,即 将种子的值改为a。
    如果要产生随机种子,可以用srand(time(0));这个语句,其中time()函数是包含在头文件 time.h 中其功能是返回一个从1970.1.1 00.00.00 到现在的秒数。因为每次运行的时间不同,因此产生的随机种子也不同,这样就保证运行时可以得到不同的随机序列。
    例:
    在这里插入图片描述

    展开全文
  • 随机数是随机产生的数,可以分为两种:真随机数和伪随机数。计算机所使用的都是伪随机数,并... 计算机的重要用途之一就是利用随机数函数生成随机数,对社会上合自然界中的随机现象进行定量的描述、模拟。但是有些时...
  • C++随机数函数

    2018-12-08 15:57:04
    C++11新随机数函数,C++11 中提供的 random 库,里面函数很多,可以根据需要使用不同的函数,比如浮点随机数,非负整数随机数。 非负整数随机数: 名称 功能 Engine e 创建一个引擎 Engine e(s) 创建...
  • arcgis两种随机数函数

    2020-12-09 16:41:05
    用arcgis创建模拟数据,需要用随机数函数来实现数据的随机性,在网上找了好久,都模棱两可。 经过不懈的尝试总结出了两种随机数函数 在字段计算器中: rnd() 在栅格计算器中: arcgis.rand() 特在此记录-O- ....
  • js产生随机数函数

    千次阅读 2019-03-21 11:45:33
    //产生随机数函数 function rndNum(n){ var rnd=""; for(var i=0;i<n;i++) rnd+=Math.floor(Math.random()*10); return rnd; } console.log("产生随机数函数 = " + rndNum(5));//13467...
  • python numpy随机数函数

    千次阅读 2020-10-23 22:42:04
    NumPy随机数函数random子库: 函数 说明 rand(d0…dn) 根据d0…dn形状创建随机数数组,浮点数,[0,1)均匀分布 randn(d0…dn) 根据d0…dn形状创建随机数数组,标准正态分布 randint(low[,high,shape]) ...
  • python之随机数函数

    千次阅读 多人点赞 2020-12-24 22:49:04
    这是俺写的第一篇关于python的博客,分享一下我所整合的python中的随机数函数,就当作是自己的一个笔记,也可以供像我一样的python入门新手小白参考学习。希望可以记录下自己的学习过程。 一、random() 生成一个(0,1...
  • random库 随机数函数

    千次阅读 2019-08-23 17:56:52
    random库 随机数函数 随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。 random库是 使用随机数的python标准库 伪随机数:采用梅森旋转算法生成的(伪)...
  • C/C++ 随机数函数

    2020-03-23 14:57:02
    首先,来看 一个使用内部链接的静态变量的函数:随机数函数。 ANSI C库提供了rand() 函数生成随机数。生成随机数有多种算法,ANSI C允许C实现针对特定机器 使用最佳算法。 然而,ANSI C标准还提供了一个可移植的标准...
  • Linux C 第十章 随机数函数

    千次阅读 2017-12-29 11:31:48
    第十章 随机数函数第十章 随机数函数 #include <stdlib.h>drand48 : double drand48(void); 产生一个正的浮点型随机数; 返回一个正的浮点型随机数,范围在0.0~1.0之间; printf("%f\n", drand48());erand48 :...
  • 一、随机数函数 1.rand()、srand() 2.time() 二、案例实现 1.案例描述 2.代码实现 一、随机数函数 1.rand()、srand() C语言产生随机数要用到的函数是rand()和srand()。random()函数不遵循ANSIC标准,在gcc、...
  • 如何用matlab生成随机数函数

    千次阅读 2019-10-05 22:52:42
    均匀随机数函数的语法为rand(n),rand(m,n),其结果分别产生一矩阵含n×n个随机数和一矩阵含m×n的随机数。注意每次产生随机数的值都不会一样,这些值代表的是随机且不可预期的,这正是我们用随机数的目的。我们可...
  • * js产生随机数函数 * n int 需要产生的随机数位数 */ function RndNum(n){ var rnd=""; for(var i=0;i<n;i++) rnd += Math.floor(Math.random()*10); return rnd; } 调用: //产生一个...
  • C++产生随机数函数rand()

    千次阅读 2020-03-11 18:28:10
    C++产生随机数函数rand() C++11之前没有random,生成随机数用rand(),可以配合srand()来使用。rand()不是真正的生成随机数,而是线性取余,有可能也会生成相同的数出来。生成的随机数最大值为RAND_MAX,宏定义在<...
  • 今天遇到个问题关于随机数函数
  • C语言随机数函数

    2020-10-11 08:18:47
    2 在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。 rand()函数没有输入参数,直接通过表达式rand()来引用;例如可以用下面的语句来打印两个...
  • 随机数函数的应用归纳

    千次阅读 2012-03-17 21:37:14
    随机数函数的应用归纳 不管是哪种编程语言,都有产生随机数的函数。在实际开发中,对于随机数函数的应用,更是五花八门,数不胜数,今天,我就在这里提出“随机数函数的应用归纳”的“课题”(说成课题可能大了点,...
  • Matlab产生随机数函数小结

    千次阅读 2019-08-24 09:53:08
    Matlab产生随机数函数总结 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新...
  • Python中numpy的随机数函数 NumPy的random子库 np.random.* 函数 含义 rand(d0,d1,..,dn) 根据d0‐dn创建d0维随机数数组,浮点数,[0,1),均匀分布 randn(d0,d1,..,dn) 根据d0‐dn创建d0维随机数数组,标准...
  • 随机数函数 c程序库中提供了rand函数来随机产生随机数。事实上,rand()是一个“伪随机数发生器”,这意味着可以预测数字的实际顺序,但这些数字在可能的取值范围内均匀的分布。 下面的程序给出了随机数函数运行的...
  • matlab 全部的随机数函数 (一)Matlab内部函数 a. 基本随机数 Matlab中有两个最基本生成随机数的函数。 1.rand() 生成(0,1)区间上均匀分布的随机变量。基本语法: rand([M,N,P ...]) 生成排列成M*N...
  • 接下来,针对常见的随机数函数进行讲解,具体如下 random.random() 返回0与1之间的随机浮点数N,范围为0<=N<1.0。接下来,通过一个案例来演示,如下所示: import random 生成一个随机数 print(“random():...
  • lua中不重复的随机数函数

    千次阅读 2018-10-26 13:14:03
    qq里有人私聊我问我一个逻辑性的问题`` LUA 比如想在 1-20 一次取出6个数字 不相同 应该怎么写? 然后我就自己实现一下,踩了很多坑!...下面给出一个正确又简单的实现随机数函数!可以当作参考 --必须写这个,...
  • C++ 随机数函数rand()与srand()的思考

    千次阅读 2019-11-09 12:45:26
    随机数函数的实质是: 每次调用rand()前,(第一次调用rand())系统通过随机数种子生成一个随机数队列。每次调用rand()时,直接从该随机队列里依次获取下一随机数。 随机数种子对于随机数序列至关重要。随机数种子...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 200,982
精华内容 80,392
关键字:

随机数函数