查看: 90|回覆: 0

[教程] 如何产生真正的随机函数?

[複製鏈接]

3

主題

1

回帖

0

積分

热心网友

金币
1
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-9-22
發表於 2007-3-8 00:00:00 | 顯示全部樓層 |閲讀模式
//MSDN 
Randomize

为了生成某个范围内的随机整数,可使用以下公式:Int((upperbound - lowerbound + 1) * Rnd + lowerbound) 

这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限。 


---- 在VB中的随机函数是Rnd,但在使用的过程中发现,虽然程序启动后产生的数值是随机的,但对于每次重新启动,程序都会产生相同的随机数序列,应该怎样解决? 

----VB中随机函数的原形是: Rnd(number),Rnd函数返回小于1但大于或等于0的值。number (可选项)的值决定了Rnd生成随机数的方式。由于生成随机数方式的确定,导致了每次新启动随机函数,最初给定的种子都会生成相同的数列,因为每一次调用Rnd函数都用数列中的前一个数作为下一个数的种子。 

----为了每次运行程序调用随机函数都会有不同的随机数序列,在调用Rnd之前,先使用无参数的Randomize语句初始化随机数生成器,该生成器具有根据系统计时器得到的种子,这样再调用Rnd就会得到不同的随机数序列了。 

----另外,根据Randomize的工作原理,用户也可以编制自己的随机函数,即利用函数Timer得到从午夜开始到现在经过的秒数,然后再根据要得到的随机数值大小对该数值进行“衰减”处理,这样得到的数值则可称得上是真正意义的随机数值。
您可能感兴趣的文章:
  • sql server中随机函数NewID()和Rand()
  • python中随机函数random用法实例
  • php中随机函数mt_rand()与rand()性能对比分析
  • perl写的一个随机编故事的程序(rand随机函数)
  • Oracle随机函数之dbms_random使用详解
  • php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
  • 如何利用当前时间生成随机函数?
  • 详解C语言中rand函数的使用
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部