作业帮 > 数学 > 作业

用rnd(1)得出的随机数为什么每次运行结果都相同

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:数学作业 时间:2024/04/30 03:39:00
用rnd(1)得出的随机数为什么每次运行结果都相同
Q Basic得到一组随机数,可是每次运行得到的一组数字都是相同的结果.怎样才能让下一次运行得到新的一组随机数呢?
用rnd(1)得出的随机数为什么每次运行结果都相同
以下是VB6中MSDN的解释:
Rnd 函数返回小于 1 但大于或等于 0 的值.
number 的值决定了 Rnd 生成随机数的方式.
对最初给定的种子都会生成相同的数列,因为每一次调用 Rnd 函数都用数列中的前一个数作为下一个数的种子.
在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子.
为了生成某个范围内的随机整数,可使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限.
注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd.使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的.