如何產(chǎn)生真正的隨機(jī)函數(shù)?
//MSDN
Randomize
為了生成某個(gè)范圍內(nèi)的隨機(jī)整數(shù),可使用以下公式:Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
這里,upperbound 是隨機(jī)數(shù)范圍的上限,而 lowerbound 則是隨機(jī)數(shù)范圍的下限。
---- 在VB中的隨機(jī)函數(shù)是Rnd,但在使用的過(guò)程中發(fā)現(xiàn),雖然程序啟動(dòng)后產(chǎn)生的數(shù)值是隨機(jī)的,但對(duì)于每次重新啟動(dòng),程序都會(huì)產(chǎn)生相同的隨機(jī)數(shù)序列,應(yīng)該怎樣解決?
----VB中隨機(jī)函數(shù)的原形是: Rnd(number),Rnd函數(shù)返回小于1但大于或等于0的值。number (可選項(xiàng))的值決定了Rnd生成隨機(jī)數(shù)的方式。由于生成隨機(jī)數(shù)方式的確定,導(dǎo)致了每次新啟動(dòng)隨機(jī)函數(shù),最初給定的種子都會(huì)生成相同的數(shù)列,因?yàn)槊恳淮握{(diào)用Rnd函數(shù)都用數(shù)列中的前一個(gè)數(shù)作為下一個(gè)數(shù)的種子。
----為了每次運(yùn)行程序調(diào)用隨機(jī)函數(shù)都會(huì)有不同的隨機(jī)數(shù)序列,在調(diào)用Rnd之前,先使用無(wú)參數(shù)的Randomize語(yǔ)句初始化隨機(jī)數(shù)生成器,該生成器具有根據(jù)系統(tǒng)計(jì)時(shí)器得到的種子,這樣再調(diào)用Rnd就會(huì)得到不同的隨機(jī)數(shù)序列了。
----另外,根據(jù)Randomize的工作原理,用戶也可以編制自己的隨機(jī)函數(shù),即利用函數(shù)Timer得到從午夜開(kāi)始到現(xiàn)在經(jīng)過(guò)的秒數(shù),然后再根據(jù)要得到的隨機(jī)數(shù)值大小對(duì)該數(shù)值進(jìn)行“衰減”處理,這樣得到的數(shù)值則可稱(chēng)得上是真正意義的隨機(jī)數(shù)值。
上一篇:vbs中關(guān)于計(jì)算機(jī)名的相關(guān)討論
欄 目:vb
下一篇:用VBS模擬二叉樹(shù),可以得到一個(gè)排序辦法.
本文標(biāo)題:如何產(chǎn)生真正的隨機(jī)函數(shù)?
本文地址:http://mengdiqiu.com.cn/a1/vb/7938.html
您可能感興趣的文章
- 01-10如何使用腳本鎖定任務(wù)欄?
- 01-10運(yùn)行腳本之前,如何確定計(jì)算機(jī)上的默認(rèn)腳本宿主的代碼
- 01-10如何調(diào)試JScript/VBScript的方法
- 01-10如何通過(guò)計(jì)劃任務(wù)調(diào)用QuickTest測(cè)試腳本
- 01-10vbs循環(huán)產(chǎn)生的參數(shù)的傳遞問(wèn)題
- 01-10VBS如何察看或獲得剪切板內(nèi)容的腳本
- 01-10教你如何解密js/vbs/vbscript加密的編碼異處理小結(jié)
- 01-10VBS 數(shù)字轉(zhuǎn)英文代碼
- 01-10用vbs產(chǎn)生的若干個(gè)隨機(jī)數(shù)并寫(xiě)入到一個(gè).txt中的代碼
- 01-10分享如何在VB中調(diào)用VC編寫(xiě)的DLL


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10飄葉千夫指源代碼,又稱(chēng)qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個(gè)高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語(yǔ)法速查及實(shí)例說(shuō)明
隨機(jī)閱讀
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 01-10C#中split用法實(shí)例總結(jié)