| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 939 人关注过本帖
标题:对随机函数的一些疑惑
只看楼主 加入收藏
beyondlwm
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2006-7-19
收藏
 问题点数:0 回复次数:3 
对随机函数的一些疑惑

“对最初给定的种子都会生成相同的数列,因为每一次调用 Rnd 函数都用数列中的前一个数作为下一个数的种子。”


种子到底是指什么?数列又在哪里?是否可以理解为,如果种子相同,那么在任意的时间和环境下,用RND函数会得到同一值?
随机函数真的是随机吗?得出来的随机数是以什么为依据呢?


“在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子。”


RANDOMIZE是个生成器,如果它是根据系统计时器而得到种子,那么假设我用某方法将系统计时器的时间锁定,那还能达到随机的效果吗?

“ Int((upperbound - lowerbound + 1) * Rnd + lowerbound) 这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。”

这个公式怎么理解?RND等于1的时候就产生最大值?RND=0的时候就产生最小值?


“注意 若想得到重复的随机数序列,在使用具有数值参数的 Randomize 之前直接调用具有负参数值的 Rnd。使用具有同样 number 值的 Randomize 是不会得到重复的随机数序列的。”

这句话我还是没懂。



请大家帮我解答一下,实在是很困惑!看了很多资料也不能释疑

搜索更多相关主题的帖子: 随机函数 生成器 种子 随机数 Rnd 
2006-11-14 19:44
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
好像随便找本书..都能解决你的问题..

我的msn: myfend@
2006-11-14 20:04
beyondlwm
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2006-7-19
收藏
得分:0 
嗯,我天资愚笨一点,看不懂书上的意思。
2006-11-14 21:31
beyondlwm
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2006-7-19
收藏
得分:0 
等了三天了,不知道能帮帮我吗,不好意思
2006-11-17 23:17
快速回复:对随机函数的一些疑惑
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026667 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved