请输入您要查询的百科知识:

 

词条 随机数表
释义

概念

随机数表:也称乱数表,是由随机生成的从0到9十个数字所组成的数表,每个数字在表中出现的次数是大致相同的,它们出现在表上的顺序是随机的

内容

03 47 43 73 86 36 96 47 36 61 46 99 69 81 62

97 74 24 67 62 42 81 14 57 20 42 53 32 37 32

16 76 02 27 66 56 50 26 71 07 32 90 79 78 53

12 56 85 99 26 96 96 68 27 31 05 03 72 93 15

55 59 56 35 64 38 54 82 46 22 31 62 43 09 90

16 22 77 94 39 49 54 43 54 82 17 37 93 23 78

84 42 17 53 31 57 24 55 06 88 77 04 74 47 67

63 01 63 78 59 16 95 55 67 19 98 10 50 71 75

33 21 12 34 29 78 64 56 07 82 52 42 07 44 28

57 60 86 32 44 09 47 27 96 54 49 17 46 09 62

18 18 07 92 46 44 17 16 58 09 79 83 86 19 62

26 62 38 97 75 84 16 07 44 99 83 11 46 32 24

23 42 40 54 74 82 97 77 77 81 07 45 32 14 08

62 36 28 19 95 50 92 26 11 97 00 56 76 31 38

37 85 94 35 12 83 39 50 08 30 42 34 07 96 88

70 29 17 12 13 40 33 20 38 26 13 89 51 03 74

56 62 18 37 35 96 83 50 87 75 97 12 25 93 47

99 49 57 22 77 88 42 95 45 72 16 64 36 16 00

16 08 15 04 72 33 27 14 34 09 45 59 34 68 49

31 16 93 32 43 50 27 89 87 19 20 15 37 00 49 (以上只是部分)

意义

随机数表是统计工作者用计算机生成的随机数组成,并保证表中每个位置上出现哪一个数字是等概率的,利用随机数表抽取样本保证了各个个体被抽取的概率相等。

真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等。这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高。

而通常我们使用的随机数表是使用伪随机数,这些数列是“似乎”随机的数,实际上它们是通过一个固定的、可以重复的计算方法产生的。计算机或计算器产生的随机数有很长的周期性。它们不真正地随机,因为它们实际上是可以计算出来的,但是它们具有类似于随机数的统计特征。

采用随机号码表法抽取样本,完全排除主观挑选样本的可能性,使抽样调查有较强的科学性。

用途

比如,对银行来说,银行的ID和密码非常脆弱。如果有随机数表,就可以防备此类事件。随机数表是指为每个客户指定各不相同的数字列表,申请时将该随机数表分配给客户,而不是按照一定的规律给出,这就安全很多。

再比如,要考察某公司的牛奶产品质量,想从800袋牛奶中抽取60袋,就可以在随机数表中选中一数,并用向上、下、左、右不同的读法组成60个数,并按牛奶的标号进行检测,虽然麻烦,但很常用。

详细的举一例:某企业要调查消费者对某产品的需求量,要从95户居民家庭中抽选10户居民码表法抽选样本。具体步骤如下: 第一步:将95户居民家庭编号,每一户家庭一个编号,即01~95。(每户居民编号为2数)

第二步:在上面的表中,随机确定抽样的起点和抽样的顺序。假定从第一行,第9列开始抽,抽样顺序从左往右抽。(横的数列称“行”,纵的数列称为“列”)

第三步:依次抽出号码分别是:86、36、96、47、36、61、46、98、63、71,共10个号码。由于96、98两个号码不在总体编号范围内,应排除在外。再补充两个号码:62、74。

由此产生10个样本单位号码为:86、36、47、36、61、46、63、71、62、74。

编号为这些号码的居民家庭就是抽样调查的对象。

实际生活中,这些随机数表起着很大的作用,所以很多人会专门去寻找随机数表产生器。

C语言编程产生随机数表

在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态分布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了srand()函数,它的原形是void srand( int a)。初始化随机产生器既rand()函数的初始值,即使把种子的值改成a; 从这你可以看到通过sand()函数,我们是可以产生可以预见的随机序列,那我们如何才能产生不可预见的随机序列呢?我们可能常常需要这样的随机序列。利用srand((unsign)(time(NULL))是一种方法,因为每一次运行程序的时间是不同的。在C语言里所提供的随机数发生器的用法:现在的C编译器都提供了一个基于ANSI标准的伪随机数发生器函数,用来生成随机数。它们就是rand()和srand()函数。这二个函数的工作过程如下: 1) 首先给srand()提供一个种子,它是一个unsigned int类型,其取值范围从0~65535;

2) 然后调用rand(),它会根据提供给srand()的种

3) 根据需要多次调用rand(),从而不间断地得到新的随机数;

4) 无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果。

下面是0~32767之间的随机数程序:

#include <stdlib.h>

#include <stdio.h>

#include <time.h> //使用当前时钟做种子

void main( void )

{int i;

srand( (unsigned)time( NULL ) ); //初始化随机数

for( i = 0; i <10;i++ ) //打印出10个随机数

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

}

根据上面的程序可以很容易得到0~1之间的随机数:

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

main( )

{int i;

srand( (unsigned)time( NULL ) );

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

printf( "%5.2f\", rand()/32767.0);

}

而产生1~100之间的随机数可以这样写:

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

main( )

{int i;

srand( (unsigned)time( NULL ) );

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

printf( "%d\", rand()%100+1);

}

__________________________________________________

include <stdio.h>

#include <stdlib.h>

#include <time.h>

void main()

{

int i;

srand((unsigned)time(NULL));

i = rand() % 100;

}

这样产生的随机数就是0-99之间的,

这二个函数的工作过程如下:

1) 首先给srand()提供一个种子,它是一个unsigned int类型,其取值范围从0~65535;

2) 然后调用rand(),它会根据提供给srand()的种子值返回一个随机数(在0到32767之间)

3) 根据需要多次调用rand(),从而不间断地得到新的随机数;

4) 无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果。

#include <stdlib.h>

#include <time.h>

main

{

int i;

srand(time(0)); //初始化随机种子

i = rand(); //产生随机数

}

首先,加一个"#include<stdlib.h>

然后设一个变量,如j,j=rand(),就可以给j赋一个1~32767的随机数,如果要获得一个随机函数的十位(其它类似),只需令j=j%10就行. 添加头文件 #include<time.h> 然后在文件中添加 srand((unsigned)time(NULL));

srand()是用来初始化随机种子数的,因为rand的内部实现是用线性同余法做的,它不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的. 上面是有个随机种子的说明及方法,为了避免重复.然后再 用 随机函数,rand() 就行了.头文件是 stdlib.h

random() 产生随机数为 0或1

random(n) 产生随机数为 0到n之间的一个随机数

rand() 产生 0到32768之间的一个随机数

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/23 14:39:59