| 网站首页 | USACO译题 | 编程语言 | 算法艺术 | 数据结构 | 竞赛试题 | oier天地 | 历史荣誉 | 相关软件 | 学校网站 | 留言本 | 
站内导航: 温中信息学竞赛 >> 编程语言 >> psacal技巧 >> 文章正文 用户登录 新用户注册
如何获取随机数?        【字体:
如何获取随机数?
作者:网络    文章来源:网络    点击数:    更新时间:2005-7-22

如何获取随机数?

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

Pascal的System单元提供了两个与随机数有关的子程序:Randomize和Random。

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

Random函数用于获取随机数.
它有两种调用形式:Random,返回一个0到1之间(不包括1)的随机实数;
Random(N),返回0至N之间(不包括N)的随机整数,N为Word类型整数。
另外,System单元中随机种子变量的标识符为RandSeed,你也可以手动修改它。

随机数在信息学奥林匹克中可用于随机化搜索、穷举等算法,以优化其性能,也可用于在快速排序中选择关键数,以使其快速排序算法的最坏情况没有固定的相应数列。如果你希望使用了随机数的程序对同一个输入数据能有恒定的输出结果,可以设置RandSeed为一个定值。

文章录入:admin    责任编辑:admin 
  • 上一篇文章: Free Pascal 和 Turbo Pascal 的主要区别

  • 下一篇文章: Pascal 编译错误信息表
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)