精华内容
下载资源
问答
  • C++随机函数rand srand

    2019-12-27 21:33:16
    C++随机函数 rand srand 头文件#include<stdlib.h> int rand( ) 产生的随机数范围是0~65536,类型为 unsigned int。 rand()函数不接受参数,默认以1为种子(即起始值)。 srand( )函数用来初始化随机数...

    C++随机函数 rand srand

    头文件  #include<stdlib.h>

    int rand( )

    产生的随机数范围是 0~65536,类型为 unsigned int

    rand()函数不接受参数,默认以1为种子(即起始值)。 

    srand( ) 函数用来初始化随机数发生器,

    void srand(unsigned int seed) 

    参数 seed是整数,seed相同,rand()产生的随机数就一样。

    可以使用时间初始化 

     srand((unsigned int)time(NULL));

    time()获取当前系统的当前时间(秒)

    头文件

    #include<ctime>//c

    #include<time.h>//c++

     要取得[a,b)的随机整数,使用(rand() % (b-a))+ a;

     要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a;

     要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1;

     

    展开全文
  • C语言随机函数rand()

    千次阅读 2018-08-05 17:41:08
    随机函数rand()产生的是一个0~RAND_MAX之间的整数 符号常量RAND_MAX是在头文件stdlib.h中定义的,因此使用该函数时需要包含头文件stdlib.h 控制生成随机数的范围 1. 利用求余运算rabd()%b将函数rand()生成的...

    随机函数rand()产生的是一个0~RAND_MAX之间的整数

    符号常量RAND_MAX是在头文件stdlib.h中定义的,因此使用该函数时需要包含头文件stdlib.h

    控制生成随机数的范围
    1. 利用求余运算rabd()%b将函数rand()生成的随机数变化到【0,b-1】之间
    2. 利用rand()%b+a 将随机师傅的取值范围平移到【a,a+b-1】之间

      eg.生成1~100之间的随机数
    
        magic=rand() % 100 + 1;
    展开全文
  • 随机函数 rand&srand

    2014-04-11 11:21:22
    首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand...因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand()会返回一随机数值

    (转)http://www.cnblogs.com/lenient/articles/1565376.html

    首先我们要对rand&srand有个总体的看法:srand初始化随机种子,rand产生随机数,下面将详细说明。

    rand(产生随机数)

    表头文件: #include<stdlib.h>

    定义函数 :int rand(void)

    函数说明 :

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

    返回值:

    返回0至RAND_MAX之间的随机整数值,RAND_MAX的范围最少是在32767之间(int),即双字节(16位数)。若用unsigned int 双字节是65535,四字节是4294967295的整数范围。

    0~RAND_MAX每个数字被选中的机率是相同的。

    范例:

    /* 产生介于1 到10 间的随机数值,此范例未设随机数种子,完整的随机数产生请参考

    srand()*/

    #include<stdlib.h>

    main()

    {

    int i,j;

    for(i=0;i<10;i++)

    {

    j=1+(int)(10.0*rand()/(RAND_MAX+1.0));

    printf("%d ",j);

    }

    }

        执行:

     

    9 4 8 8 10 2 4 8 3 6

    9 4 8 8 10 2 4 8 3 6 //再次执行仍然产生相同的随机数

     

    srand(设置随机数种子)

    表头文件:#include<stdlib.h>

    定义函数:void srand (unsigned int seed);

    函数说明:

    srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用geypid()或time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。

    范例

    /* 产生介于1 到10 间的随机数值,此范例与执行结果可与rand()参照*/

    #include<time.h>

    #include<stdlib.h>

    main()

    {

    int i,j;

    srand((int)time(0));

    for(i=0;i<10;i++)

    {

    j=1+(int)(10.0*rand()/(RAND_MAX+1.0));

    printf(" %d ",j);

    }

    }

          执行:与rand范例比较

     

    5 8 8 8 10 2 10 8 9 9

    2 9 7 4 10 3 2 10 8 7

    又或:

    用"int x = rand() % 100;"来生成 0 到 100 之间的随机数这种方法是不或取的,比较好的做法是: j=(int)(n*rand()/(RAND_MAX+1.0))产生一个0到n之间的随机数

    int main(void)

    {

        int i;

        time_t t;

        srand((unsigned) time(&t));

        printf("Ten random numbers from 0 to 99\n\n");

        for(i=0; i<10; i++)

            printf("%d\n", rand() % 100);

        return 0;

    }

    除以上所说的之外,补充一点就是srand这个函数一定要放在循环外面或者是循环调用的外面,否则的话得到的是相同的数字。

    MSDN中的例子。

    // crt_rand.c

    // This program seeds the random-number generator

    // with the time, then displays 10 random integers.

    //

    #include <stdlib.h>

    #include <stdio.h>

    #include <time.h>

    int main( void )

    {

        int i;

      

        // Seed the random-number generator with current time so that

        // the numbers will be different every time we run.

        //

        srand( (unsigned)time( NULL ) );

        // Display 10 numbers.

        for( i = 0;    i < 10;i++ )

           printf( "   %6d\n", rand() );

       printf("\n");

       // Usually, you will want to generate a number in a specific range,

       // such as 0 to 100, like this:

       {

          int RANGE_MIN = 0;

          int RANGE_MAX = 100;

          for (i = 0;     i < 10; i++ )

           {

              int rand100 = (((double) rand() /

                             (double) RAND_MAX) * RANGE_MAX + RANGE_MIN);

              printf( "   %6d\n", rand100);

           }

       }

    总结:

    我们知道rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种了,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了 srand()函数,它的原形是void srand( int a) 功能是

    初始化随机产生器既rand()函数的初始值,即使把种子的值改成a; 从这你可以看到通过sand()函数,我们是可以产生可以预见的随机序列,

    那我们如何才能产生不可预见的随机序列呢?我们可能常常需要这样的随机序列,是吧。利用srand((unsign)(time(NULL))是一种方法,因为每一次运行程序的时间是不同的,对了,你知道time() 函数的功能是返回从1970/01/01到现在的秒数的吧,可能这个起始时间不正确,你查一下对不对吧,C还提供了另一个更方便的函数,randomize()

    原形是void randomize(),功能是用来始初rand() 的种子的初始值,而且该值是不确定的,它相当于srand((unsign)(time(NULL)) 不过应注意的是randomize()的功能要通过time来实现所以在调用它时头文件要包含time.h罢了

    展开全文
  • Mysql 随机函数 rand()

    2019-09-26 05:21:26
    rand() 函数主要有两个用处: 1.是产生随机数, 2.是随机排序(在数据较大的时候会变成性能杀手) 实例: 1.产生一个随机数,默认0~1之间的浮点数 SELECT RAND( ) 2.参数指定范围的的随机数,比如 ...

    rand() 函数主要有两个用处:

    1.是产生随机数,

    2.是随机排序(在数据较大的时候会变成性能杀手)

     

    实例:

    1.产生一个随机数,默认0~1之间的浮点数

    SELECT RAND( )
    

     

    2.参数指定范围的的随机数,比如 500~5000

    SELECT FLOOR( 500 + ( RAND( ) *4500 ) )
    

     

    3. 随机排序,比如我有一张文章表,我要随机抽取5篇文章。

    SELECT * FROM content ORDER BY RAND();
    

     

     

    个人博客地址:

    http://blog.wxp123.me/p/45

    Mysql 随机函数 rand()

    转载于:https://www.cnblogs.com/wangpg/p/4898092.html

    展开全文
  •  · rand()返回一随机数值的范围在0至RAND_MAX 间。RAND_MAX的范围少是在32767之间(int)。用 unsigned int 双字节是65535,四字节是4294967295的整数范围。0~RAND_MAX每个数字被选中的机率是相同的。  · 用户
  • 随机函数rand Floyd算法

    千次阅读 2012-09-29 22:55:45
    1.rand(void)函数简介 ...功能:是随机数发生器函数rand)的初始化函数,给rand函数提供一个随机数开始的初始值(最小值)参数:参数是无符号整型数据,只要满足无符号整型数据的表示范围即可表头文件:返
  • rand()返回一随机数值的范围在0至RAND_MAX 间。RAND_MAX的范围最少是在32767之间(int)。用 unsigned int 双字节是65535,四字节是4294967295的整数范围。0~RAND_MAX每个数字被选中 的机率是相同的。  用户未设定...
  • 随机函数rand()、srand()

    2019-05-22 20:00:15
    一、随机函数 产生数的函数,库函数中系统提供了两个函数用于产生随机数:srand()和rand() 二、伪随机数 伪随机数是在一定的数值范围内,由随机种子采用一定的算法计算出来一个数字做为结果显示,尽量保证算法...
  • 随机函数rand()与srand()

    2019-09-25 12:38:24
    通常rand()%x是指在x范围内取模,返回值0-x; 系统默认随机种子是1; 二、voidsrand(unsigned int seed); 函数所在的头文件是stdlib.h; srand()用来设置rand()产生随机数时的随机数种子;...
  • 关于随机函数rand()的使用

    千次阅读 2017-03-31 19:03:12
     在很多时候,程序中会用到随机数,在C++中就要用到专门用以产生随机数的标准库函数rand(),它会产生一个无符号整数,范围在0~32767,即两字节...范围中的每一个数在每次随机调用rand时都有相同的概率被选中。  
  • 一.利用等概率Rand5产生等概率Rand3 分析:算法很简单,x是我们最终要输出的数字,只要它不在[0, 3)范围内,就不断地调用...题:已有方法rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10生成 1 到 10
  • C语言随机函数rand()的用法

    千次阅读 2014-08-23 23:13:42
    转自: rand和srand的用法  首先我们要对rand&srand有个总体的看法:srand初始化随机种子,...因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机
  • 随机函数rand 和 srand C

    2013-02-28 14:34:56
     函数名: rand   功 能: 随机数发生器   用 法: int rand(void);   所在头文件: stdlib.h  函数说明 :  rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定...
  • 随机函数rand()和随机数种子的作用

    万次阅读 2017-02-08 22:39:43
    C/C++怎样产生随机数:...(1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为2147483647。 例如: #incl
  • C++随机函数 rand()、srand()

    千次阅读 2018-04-24 20:44:04
    rand():rand()是用线性同余法实现的,因此不是真的随机数,但因其周期特别长,故在一定的范围里可看成是随机的。rand()返回一随机数值的范围在0至RAND_MAX 间。RAND_MAX的范围最少是在32767之间(int)。用unsigned ...
  • 一、rand() 函数名:rand 功能:随机数发生器 用法:int rand(void); 所在头文件: stdlib.h 函数说明 : ...rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故...的范围里可看成是随机的。 ...
  • 一、rand() 函数名: rand 功 能: 随机数发生器 用 法: int rand(void); 所在头文件: stdlib.h 函数说明 : rand()的内部实现是用线性同余法做的,它不是真的随机数,因...rand()返回一随机数值的范围在0至RAND_MAX...
  • 随机函数rand

    2018-05-25 13:29:16
    int a = 50 + rand()%75; //a的范围50~125 int b = 75 + rand()%50; //b的范围75~125 int c = -rand()%50; //c的范围0~-50
  • 由于我的算法中的参数初始值是在一定范围随机给的,老板说要多跑几次计算结果的均值和方差以减小随机性带来的影响,我跑了十遍发现结果怎么都一样,原来是rand出了问题。 1. MATLAB中的rand产生的是0到1(不包括...
  • C语言中的随机函数rand()

    千次阅读 2013-01-24 19:36:15
    #if 1 #include #include #include #include #include using namespace std; int main() { int nRandNumber[10]; for (int idx = 0;... nRandNumber[idx] = rand();//取随机数范围为integer 0 ~

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,147
精华内容 458
关键字:

随机函数rand范围