您的位置:

种子函数:生成随机数的利器

一、c随机数种子生成函数

c语言中的rand函数默认的随机数生成是通过时间戳获取的,因此每次生成的随机数都是相同的。为了避免这种情况,我们需要引入随机数种子。随机数种子可用当前时间、进程ID以及用户ID等元素生成。以下是一个生成随机数种子的示例程序:

 #include <stdio.h>
 #include <stdlib.h>
 #include <time.h>

 int main () {
    int i, n;
    time_t t;

    n = 5;

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

    for( i = 0 ; i < n ; i++ ){
        printf("%d\n", rand());
    }

    return(0);
 } 

上述程序中,我们利用了time函数来获取当前时间并将其转换成unsigned int,作为rand函数的种子。

二、rand函数生成36到37的随机数

利用rand函数我们可以生成0到RAND_MAX(通常是32767)之间的随机数。但这个范围可能并不适合我们的需要,为此我们可以用一些算法来重新定义随机数范围。以下是生成36到37之间的随机数的示例程序:

 #include <stdio.h>
 #include <stdlib.h>
 #include <time.h>

 int main () {
    int i, n;
    time_t t;

    n = 5;

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

    for( i = 0 ; i < n ; i++ ){
        printf("%d\n", (rand() % 2) + 36);
    }

    return(0);
 } 

上述程序中,我们用rand函数生成0到1之间的随机数,并将其加上36,得到36到37之间的随机数。

三、用rand函数生成随机数

通常情况下,我们使用rand函数生成随机数的方式如下:

 #include <stdio.h>
 #include <stdlib.h>
 #include <time.h>

 int main () {
    int i, n;
    time_t t;

    n = 5;

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

    for( i = 0 ; i < n ; i++ ){
        printf("%d\n", rand());
    }

    return(0);
 } 

上述程序中,我们生成了5个随机数。由于rand函数生成的随机数较为分散,我们无法预测生成的具体数值。通过这种方式可以生成任何范围内的随机数。

四、python生成随机数的函数

Python中生成随机数的函数为random.random(),通过它我们可以生成0到1之间的随机数。我们可以通过一定的算法改变生成随机数的范围。以下是生成0到10之间的随机数的示例程序:

 import random

 def rand10():
     return int(random.random() * 10)

 print(rand10()) 

上面的代码中,我们利用random.random()生成0到1之间的随机数,并将其乘以10取整,得到0到10之间的随机数。

五、rand函数生成20到50的随机数

与前面的示例相似,我们可以通过rand函数生成任意范围内的随机数。以下是生成20到50之间的随机数的示例程序:

 #include <stdio.h>
 #include <stdlib.h>
 #include <time.h>

 int main () {
    int i, n;
    time_t t;

    n = 5;

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

    for( i = 0 ; i < n ; i++ ){
        printf("%d\n", (rand() % 31) + 20);
    }

    return(0);
 } 

上述程序中,我们生成一个0到30之间的随机数,再将其加上20,得到20到50之间的随机数。

六、rand函数生成10到20的随机数

与前面的示例类似,以下是生成10到20之间的随机数的示例程序:

 #include <stdio.h>
 #include <stdlib.h>
 #include <time.h>

 int main () {
    int i, n;
    time_t t;

    n = 5;

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

    for( i = 0 ; i < n ; i++ ){
        printf("%d\n", (rand() % 11) + 10);
    }

    return(0);
 } 

上述程序中,我们生成一个0到10之间的随机数,再将其加上10,得到10到20之间的随机数。

七、rand函数生成60到85的随机数

与前面的示例类似,以下是生成60到85之间的随机数的示例程序:

 #include <stdio.h>
 #include <stdlib.h>
 #include <time.h>

 int main () {
    int i, n;
    time_t t;

    n = 5;

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

    for( i = 0 ; i < n ; i++ ){
        printf("%d\n", (rand() % 26) + 60);
    }

    return(0);
 } 

上述程序中,我们生成一个0到25之间的随机数,再将其加上60,得到60到85之间的随机数。

八、matlab随机数生成函数

Matlab中生成随机数的函数为rand()或randn()。其中,rand()生成均匀分布的随机数,randn()生成正态分布的随机数。以下是生成10到20之间的随机数的示例程序:

 randi([10,20],1,5) 

上述程序中,randi函数生成10到20之间的整数,1表示生成1行数据,5表示生成5个随机数。

九、excel时间随机数生成函数

Excel中生成随机数的函数为RAND(),该函数返回0到1之间的随机数。以下是生成随机时间的示例程序:

 =RAND()* (TIME(23,59,59)-TIME(0,0,0))+TIME(0,0,0) 

上述函数中,RAND()生成0到1之间的随机数,将其乘以1天的时间差,再加上当天的起点,即可生成随机时间。

结语

通过上述示例,我们可以发现随机数的生成有许多种方式,我们可以根据需要的随机数范围、分布等情况选择不同的方法。在实际的应用中,我们需要根据具体情况选择合适的方法来生成随机数。