pascal中,random(41)是什么意思

如题所述

产生 0-40之间的随机数

pascal里的随机数
随机数是指理论上没有规律可循、在指定范围内每个数的出现几率相等、无法根据之前的数来预测下一个数的数列。一般随机数生成器的基本原理是:首先初始化一个随机种子,其初始值可以是任意的整数;在每次获取随机数时,以随机种子为基础进行某种特殊的运算,获得一个随机数并返回之,然后再对随机种子进行某种运算,改变随机种子的值。这样,就可以生成许多比较随机的数,但同一个初始值的随机种子将会生成完全相同的随机数列。
Pascal的System单元提供了两个与随机数有关的子程序:Randomize和Random。

Randomize过程用于初始化随机种子,其初始值取决于当前的系统时钟。

Random函数用于获取随机数

它有两种调用形式:
Random,返回一个0到1之间(不包括1)的随机实数;
Random(N),返回0至N之间(不包括N)的随机整数,N为Word类型整数。

另外,System单元中随机种子变量的标识符为RandSeed,你也可以手动修改它。随机数在信息学奥林匹克中可用于随机化搜索、穷举等算法,以优化其性能,也可用于在快速排序中选择关键数,以使其快速排序算法的最坏情况没有固定的相应数列。如果你希望使用了随机数的程序对同一个输入数据能有恒定的输出结果,可以设置RandSeed为一个定值。
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-03-13
从0-40随机选取一个数 random是个随机函数

楼下的是转来的吗?能取到41??

不会吧

Random(N),返回0至N之间(不包括N)的随机整数,N为Word类型整数。这句话要理解好

pascal中,random(41)是什么意思
产生 0-40之间的随机数 pascal里的随机数 随机数是指理论上没有规律可循、在指定范围内每个数的出现几率相等、无法根据之前的数来预测下一个数的数列。一般随机数生成器的基本原理是:首先初始化一个随机种子,其初始值可以是任意的整数;在每次获取随机数时,以随机种子为基础进行某种特殊的运算,获得...

[pascal]产生1-40之间不重复的随机数
我采用的是用随机函数random的办法,加上一些修饰。 随机函数randdom(x)的作用是随机取0~x-1中的数。var a:array[1..40]of integer;i,j,k,s:integer;begin i:=0;repeat k:=random(41); s:=0;if k<>0 then begin if i<>0 then begin for j:=1 to i do if a[j]<>k then ...

用pascal语言做随机取数
random(n);这样就会随机产生一个小于等于n的自然数,也就是0..n。由于楼主想取1或2,那么得处理一下,就象这样:begin randomize;writeln(random(1)+1);end.这样就可以保证取出的数是1或2.祝你好运。

pascal 这几个函数是什么意思?怎么使用?
在PASCAL里面random函数的功能是返回一个0~1之间的随机数,write(i:4)表示输出i的值,宽度为4,也就是占用4个字符的位置。没有听说过有digit和shift这样的函数,除非你自己定义,另外象random这样的无需参数的函数,在PASCAL里面是不能写后面的括号的,否则就是语法错误。

pascal随机函数怎么控制个数?
randomize;for i:=1 to 10 do write(random(42):3);这样可以得到10个0~41之间的随机数。

pascal 随机函数如何定义
使用randomize过程打开随机数开关,再用random(n)函数生成0到n-1的随机整数。也可以使用random函数生成0到1的随机实数。

random函数的用法
结论:random函数在Pascal编程中是一个用于生成0到指定整数之间随机数的工具,但它并非独立使用,而是需要配合randomize过程。random函数可能会重复生成同一个随机数,导致结果不理想。为了解决这个问题,程序中应先调用randomize过程以确保每次迭代都会生成不同的随机数。Pascal中的random函数需要配合randomize过程...

PASCAL语言中的RANDOM(N)随机函数为什么有规律可寻啊??
每一次random,其实是对上次随机函数产生的结果建立一个函数算出来的,所以称为伪随机,就是说如果上一个数是固定的,那么下一个数就确定了。random其实是一个f(x)的函数,然后不停地迭代,就是说如果第一个随机数是f(x),那么第三次产生的就是f(f(f(x))),而首个f(x)中的x就是随机数种子...

用随机函数random产生100到1000的随机数,用pascal语言,语句怎么写?
random用法:random(x); \/\/注释:x是个正整数 即可随机产生0~x之间的一切整数。而且它是一个函数,不能单独使用。如a:=random(100);就是随机产生1个0~100之间的数赋给变量a;但是如果只用random的话不太好。因为random函数是随机一个数,然后你再次random的时候还是产生那个数。如果不信,拿下面...

random(n)产生0~n的随机数(n为word类型,先执行randomize, 才能得到...
random(n)就是通过对种子数进行一系列的复杂运算得到随机数。如果不先执行randomize,那么pascal就会使用默认的种子数来生成随机数。在这种情况下,每一次运行程序生成的随机数都是一样的,也就是说,我第一次运行得到的随机数列是2,5,4,3的话,下一次还是按这个顺序得到随机数。你可以自己写一下...

相似回答